oop设计:返回布尔属性而不是显式返回TRUE或FALSE

时间:2010-06-25 03:11:56

标签: php oop

我注意到大多数基于PHP的库或框架都有没有显式返回关键字TRUE和FALSE的类,而是:

if(condition)
{
  $this->boolean_property = FALSE;
  return $this->boolean_property
}

这是否意味着什么,或者它只是另一种“纯粹主义”的举动,与其他方法相比没有任何优势?

这是来自身份验证库的另一个代码:

protected $_logged_in = false;

public function is_logged_in()
{
 if (isset($_SESSION['userdata'])
 {
  $this->_logged_in = true;
 }
 return $this->_logged_in;
}

2 个答案:

答案 0 :(得分:0)

它仍然返回FALSE。它只是设置一个实例字段,大概是你以后可以查询它。一个真实的例子可能会进一步澄清事情。你在哪里看到这段代码?

答案 1 :(得分:0)

第二个例子很有意义,可能是类在后期检查$_logged_in属性。

第一个可以简化为:

return $this->boolean_property = FALSE;

然而,它仍然看起来很愚蠢 ,最好是简单的return false;