【发布时间】:2015-07-02 17:50:15
【问题描述】:
当一个 PHP 闭包被赋值给一个静态类变量,然后在后面执行,如:
self::$FOO = function($a) {return $a;};
self::$FOO(123)
PHP 警告“函数名必须是字符串”。
如果类变量先赋值给普通变量然后执行:
$bar = self::$FOO;
$bar(123);
然后一切正常。
有没有办法直接使用类变量执行闭包,而无需先将其分配给普通变量?
【问题讨论】:
-
为什么不使用静态函数呢?
-
你的 PHP 版本是多少?
-
我的PHP版本是5.3.10