6
respostas

Erro na Explicação Do Vídeo

**Vocês mandam fazer Esse código aqui no Vídeo:

public function construct(string $email)
{
    $this->email = $email;

    if ($this->validaEmail($email) !== false) {
        $this->validaEmail($email);
    } else {
        $this->validaEmail( "Email inválido");
    }

}

Só que com esse código não funciona a verificação lendo a explicação via texto mandam chamar a function setEmail e não validaEmail

**Código do documentação do vídeo que funcionou:

public function construct($email) { $this->email = $email;

if ($this->validaEmail($email) !== false) {
    $this->setEmail($email);
} else {
    $this->setEmail("Email inválido");
}

}**

6 respostas

Sim, mas é isso mesmo, chamando a função validaEmail, não irá funcionar, tem que chamar a função, setEmail.

Assim vai dá bom demais.

Perfeito!

if ($this->validaEmail($email) !== false){
            $this->defineEmail($email);
        }
        else{
            $this->defineEmail('Email Inválido');
        }

Só mudei a maneira de chamar a função...rsrs

Exatamente! Esse vídeo precisa ser corrigido. Respeito e admiro o professor, mas esse curso está com alguns problemas que precisam ser revistos. Mas obrigado por expor este errinho, meu amigo. Vai ajudar o pessoal.

Legal seu post, vai poder esclarecer as dúvidas geradas na aula.

Antes mesmo de olhar sua solução eu acrescentei uma linha a mais. Vejam:

public function __construct(string $email)
    {
        $this->setEmail($email);
        if ($this->validaEmail($email) !== false) {
            $this->setEmail($email);
        } else {
            $this->setEmail("Email inválido.");
        }
    }

Ou seja, na terceira linha. Pensei da seguinte maneira ...

"Já que uma função é para facilitar e otimizar o uso de determinadas expressões, irei utilizá-la em todas as ocorrências possíveis "

Não sei se estou certo, rsrs.