在类的构造函数中返回值
到目前为止,我有一个带有构造函数的类PHP
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;
}
}
的功能是在数据库中查找特定的电子邮件地址。当我将标识符设置为某些电子邮件时,我确定它不在数据库中;第一个 IF 通过,并转到第一个 ELSE。在这里,构造函数应返回 FALSE;但是,相反,它返回具有所有 NULL 值的类的对象!loadUser
我该如何防止这种情况?谢谢
编辑:
谢谢大家的回答。这太快了!我看到OOP的方法是抛出一个异常。所以抛出一个,我的问题改变了,我该怎么办与例外??php.net的手册非常令人困惑!
// 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 !!
}
}