etornando um valor na função construtora de uma clas
Até agora eu tenho umPHP
classe com o construtor
public function __construct ($identifier = NULL)
{
// Return me.
if ( $identifier != NULL )
{
$this->emailAddress = $identifier;
if ($this->loadUser() )
return $this;
else
{
// registered user requested , but not found !
return false;
}
}
a funcionalidade deloadUser
é procurar no banco de dados um endereço de email específico. Quando defino o identificador para algum email, tenho certeza de que não está no banco de dados; o primeiro IF é passado e passa para o primeiro ELSE. aqui o construtor deve retornar FALSE; mas, em vez disso, ele retorna um objeto da classe com todos os valores NULL!
Como evito isso? obrigad
EDITAR
Obrigado a todos pelas respostas. isso foi bem rápido! Vejo que a maneira OOP é lançar uma exceção. Então, um lance, minha pergunta muda que o que devo fazer com a exceção? O manual do php.net é bastante confuso!
// Setup the user ( we assume he is a user first. referees, admins are considered users too )
try { $him = new user ($_emailAddress);
} catch (Exception $e_u) {
// try the groups database
try { $him = new group ($_emailAddress);
} catch (Exception $e_g) {
// email address was not in any of them !!
}
}