从函数调用中设置变量是不是很好的编码风格?

时间:2017-04-04 11:16:52

标签: php coding-style

考虑以下两个例子:

// explicitly setting the variable
$file = '/example.php';
if (file_exists($file)) {
  include($file);
}

// setting the variable within a function call
if (file_exists($file = '/example.php')) {
  include($file);
}

我测试了两者,他们似乎工作相同 尽管人物较少,但第二个看起来更简洁,更不容易出错。然而,我从来没有在实践中看到过这种情况,guides will usually advertise the first method

是否有任何理由反对以这种方式设置变量?如果是这样,它们只是编码风格的性质,还是存在技术差异?我还没有解决其他任何差异吗?

1 个答案:

答案 0 :(得分:1)

如果有的话,第二个是不必要的混淆。在上面的示例中,它没有太大的问题(可以从名称中推断出足够多),但请考虑这个问题:

update_user_status($admin = true)

作者是否是否设置了$admin变量?或者他们只是做了一个拼写错误,它应该是一个相等的检查($admin == true)?

第一种风格对此免疫。