我一直在查看Zend Framework的源代码,并注意到大多数(如果不是全部)比较都是按照我期望的相反顺序完成的操作数:
if ((false !== $request) {
...
}
而不是:
if (($request !== false) {
...
}
这个惯例的原因是什么?
答案 0 :(得分:6)
它被称为Left-Hand Comparison
。
基本上,如果您忘记将第二个=
放在==
中,那么错误就会改变变量的值......
答案 1 :(得分:3)
if (false = $request)
会很快失败(例如,如果您的意思是false == true
) - 您无法分配常量。这是你弄清楚,或看到并遵循的一个提示,以帮助发现问题。 ZF关于在文件的ned处留下关闭PHP标记(?>
)的约定是相同的想法。如果没有可能导致问题的空格,则不能有空格。如果没有可供使用的标记。