PHP 具有多条件表达式的变量
PHP variable with multi conditions expression
我正在浏览一个网站的代码,我遇到了这一行:
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
这是什么意思?
正如 scaisEdge
在他的评论中所说,这是一个布尔表达式,为了让您清楚,让我们检查一下该表达式:
首先,变量 $useStaticLoader
将保存表达式的结果,它可以是 true
或 false
,到目前为止很清楚。
条件的第一部分是检查当前 PHP 版本是否大于或等于 5.6
PHP_VERSION_ID
是 predefined constant 那 returns
PHP 5.6 的版本 ID returns 类似于 50630 在 php 7 中类似于 70025。
条件的第二部分是检查用于执行 PHP 代码的引擎的天气是 ZEND or HHVM。
最后一个条件是检查是否存在作为 Zend Guard loaded extenion which means he is checking weather the Zend Guard loaded extenion 一部分的 zend_loader_file_encoded
函数。
为了简化它,条件是检查 PHP 版本是否大于或等于 5.6,它是否不是 HHVM,以及 Zend Guard 加载的扩展是否不可用或未安装。
我正在浏览一个网站的代码,我遇到了这一行:
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
这是什么意思?
正如 scaisEdge
在他的评论中所说,这是一个布尔表达式,为了让您清楚,让我们检查一下该表达式:
首先,变量 $useStaticLoader
将保存表达式的结果,它可以是 true
或 false
,到目前为止很清楚。
条件的第一部分是检查当前 PHP 版本是否大于或等于 5.6
PHP_VERSION_ID
是 predefined constant 那 returns PHP 5.6 的版本 ID returns 类似于 50630 在 php 7 中类似于 70025。
条件的第二部分是检查用于执行 PHP 代码的引擎的天气是 ZEND or HHVM。
最后一个条件是检查是否存在作为 Zend Guard loaded extenion which means he is checking weather the Zend Guard loaded extenion 一部分的 zend_loader_file_encoded
函数。
为了简化它,条件是检查 PHP 版本是否大于或等于 5.6,它是否不是 HHVM,以及 Zend Guard 加载的扩展是否不可用或未安装。