有谁知道为什么有些开发人员(特别是在Zend Framework 2的源代码中看到)在比较实际值之前写出了预期值?
示例:
if (true === $actualValue) { ... }
而不是
if ($actualValue === true) { ... }
此案例未在PSR编码标准中定义。
注意: c ++有一个类似的主题,但没有真正的有用的答案。
答案 0 :(得分:10)
您所看到的是Yoda conditions。没有标准定义这些(至少不是我的知识)。它们只是一种保护自己免受常见编码错误(在您的条件下进行分配)的方法。
示例:
if( number = 4 ) // Works perfectly
if( 4 = number ) // Throws an exception