我基本上需要从我的PHP类中调用两个构造函数中的一个,这取决于是否需要验证。
我目前的代码如下:
class Event extends Generic {
private $user_id;
function __construct($user_id=null) {
$this->user_id = $user_id;
}
public function verify($user_id=null, $identifier=null) {
if (parent::verifyUser($user_id, $identifier)) {
return new Event($user_id);
}
else {
// what gets retruend here in the event of a failure???
}
}
public function noverify($user_id=null) {
return new Event(user_id);
}
}
像这样调用代码:
$event = new Event();
$obj1 = $event->noverify(5);
$obj2 = $event->verify(5, 100);
如果内部条件失败,我真的不清楚如何处理构造函数失败的事件。我在这里走错了路吗?
答案 0 :(得分:1)
我会抛出异常或返回FALSE
:
else {
throw new Exception('verification failed');
}
或
else {
return FALSE;
}