1
resposta

Alternativa ao método __toString

Hoje a partir do PHP 8.1 temos as propriedades readonly, ou seja, que após serem incializadas não podem ser modificadas.

# O código pode ficar 

class Email
{
    public readonly string $email;

    public function __construct(string $email)
    {
        if (filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
            throw new \InvalidArgumentException('Invalid e-mail address');
        }

        $this->email = $email;
    }
}

#Para acessar a propriedade basta usar (Na classe Student)

$this->email->email;

#Assim eu acredito que ficar ainda mais claro a nível de código
1 resposta

Muito boom!