Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

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!