我发现Wordpress代码总是采用这种编码方式:
if ( false === ( $value = get_transient( 'value' ) ) ) {
     // this code runs when there is no valid transient set
}
我希望它会像if ( ( $value = get_transient( 'value' ) ) === false ).
Wordpress开发人员是否提到使用此PHP语法的任何原因?应该在某个地方引用这个,但这种语法很难谷歌.
(我觉得这不属于Wordpress网站,因为它与PHP语法更相关.)
WordPress网站上有一个解释:
https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#yoda-conditions
它被称为Yoda条件; 简而言之,这是因为人们很容易将PHP中的赋值运算符与相等运算符混淆,因此给出了一行代码:
if (x = true) 
几乎可以肯定是一个错字,但不会产生任何错误,因为它是有效的语法.
另一方面:
if (true = x) {
意味着您正在尝试将值分配给x常量true,PHP将看到并生成错误消息.
因此,这是一种避免PHP让您逃避的一些微妙语法问题的简单方法.
| 归档时间: | 
 | 
| 查看次数: | 51 次 | 
| 最近记录: |