【发布时间】:2017-07-10 15:57:52
【问题描述】:
最近,当我下载一个开源项目时,我偶然发现了这段 PHP 代码:
<?php
namespace That\Thing;
final class Somewhere
{
//...
public static function somefunc( /*...*/ )
{
static $exists = null;
if ($exists === null) {
$exists = \function_exists('mb_substr');
}
if ($exists) {
//...
我的 PHP 没问题,所以读了上面的内容,我很困惑static $exists = null 到底是做什么的?将变量设置为 Null 对我来说没有意义,然后立即检查该变量是否实际上为 Null? (在这里添加 Duhh)
这里是否正在进行某种 PHP 版本检查?为什么有人会写这段代码?
我已经包括了周围的 OOP,以防它有影响。有人可以解释一下吗?
【问题讨论】:
标签: php oop variables scope null