我试图在静态类变量中调用函数,但是我遇到了一些问题
这是最小的例子
nil
它给了我以下输出
#!/usr/bin/php
<?php
class Foo {
public static $func;
public static function call() {
echo "calling func\n";
if ( is_callable(self::$func))
self::$func();
else echo "no call\n";
}
}
Foo::call();
Foo::$func = function() { echo "hello\n"; };
Foo::call();
?>
答案 0 :(得分:1)
将self::$func
的引用存储在变量中:
public static function call() {
echo "calling func\n";
$callable = self::$func; // store in a variable
if ( is_callable($callable))
$callable();
else
echo "no call\n";
}