使用PHP更正IF缩进

时间:2012-03-14 13:50:22

标签: php if-statement indentation logical-operators

我没有找到任何编码风格指南来回答我的问题。我有一个带有嵌套大括号和几个逻辑运算符的简单IF。我该如何缩进呢?

if (
  !$var
  || (
    $this->var != $this->needed_var()
    && !$this->another_func()
    && !$this->another_func_two()
  )
) {
  // My code...
}

我觉得它很流行......有什么帮助吗?

7 个答案:

答案 0 :(得分:3)

为了便于阅读,我会将较长语句的结果存储到有意义的变量中。

$is_not_needed = ($this->var != $this->needed_var() && !$this->another_func() && !$this->another_func_two()); 

if( !$var || $is_not_needed ) 
{
    // your code here
}

答案 1 :(得分:1)

没有通用的编码风格规则,最重要的是你的格式是一致的,你的代码是可读的。我会像这样格式化,但这只是我的编码风格!

if (!$var || ($this->var != $this->needed_var() &&
              !$this->another_func() &&
              !$this->another_func_two())){
  // My code...
}

在任何情况下,您都可以检查pear的编码标准

答案 2 :(得分:1)

我会建议Zend Framework Coding Standards。它们在“控制声明”下涵盖了这个特殊情况,如下所示:

if (($a == $b)
    && ($b == $c)
    || (Foo::CONST == $d)
) {
    $a = $d;
}

答案 3 :(得分:0)

与PHP没有直接关系,但QT Framework编码风格和约定文档编写得非常好,并且具有很强的连贯性。

您可以在此处查看:http://wiki.qt-project.org/Coding_Style

答案 4 :(得分:0)

我更喜欢WordPress Coding Standards。虽然这些标准大部分是相同的。

答案 5 :(得分:0)

$var_is_ok    = ($this->var != $this->needed_var());
$another_req  = ($this->another_func());
$another_req2 = ($this->another_func_two());

if (!$var || ($var_is_ok && !$another_req && !another_req2) )
{
  // My code...
}

答案 6 :(得分:-1)

当你有条件没有明确的缩进方法时,条件太长了。程序员无法快速理解它。

重构它。