代码之家  ›  专栏  ›  技术社区  ›  yretuta

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

  •  1
  • yretuta  · 技术社区  · 15 年前

    我注意到,大多数基于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 回复  |  直到 15 年前
        1
  •  0
  •   Alix Axel    15 年前

    第二个例子很有意义,可能类正在检查 $_logged_in 后期财产。

    第一个可以简化为:

    return $this->boolean_property = FALSE;
    

    然而,这似乎仍然很愚蠢 自己 ,和一个简单的 return false;

        2
  •  0
  •   Matthew Flaschen    15 年前

    它仍然是假的。它还设置了一个实例字段,这样您以后就可以查询它了。一个真实的例子也许能进一步说明问题。你在哪里看到这个密码的?

    推荐文章