嵌入式 if/elses 与序列化和 (&&) 语句?

Embedded If/Elses vs. Serialized And (&&) statements?

本文关键字:语句 序列化 if elses 嵌入式      更新时间:2023-10-16

这只是偏好的问题....下面的代码,我正在考虑移动到序列化&&声明……这是一个有效的嵌入if/else的if/else。

Is this a preference or is there a "best practice"?
  function invoke()
    {
    $obj=new validate($this->_protected_arr);
    if($obj->empty_user())
      {
      if($obj->email())
        {
        if($obj->pass())
          {
          if(self::validate())
            {
            self::activate_session();
            $control=new controller_control();
            $control->send('pass');
            }
          else
            {
            new view_message('validate');
            }
          }
        else
          {
          new view_message('pass');
          }
        }
      else
        {
        new view_message('email');
        }
      }
    else
      {
      new view_message('empty');
      }         
    }

反向进场

if (!$obj->empty_user) {
 return new view_message('empty');
}
if (!$obj->foo) {
 return new view_message('foo');
}
//Garden of Eden

你的代码路径只有在安全的情况下才会继续——这将避免丑陋的嵌套连接,并为重构增加灵活性。不需要&&,,,,一切。