方法 1会起作用,但方法 2不会——它会导致致命错误(函数名称必须是...中的字符串)
# Approach 1
$function = self::$function and $function();
# Approach 2
self::$function and self::$function();
这不是有点奇怪吗?我希望有人能解释一下。
编辑:为了提供一些背景信息,这是一个完整的课程:
class Example
{
static $function;
static function method()
{
self::$function();
}
}
function callback() {}
Example::$function = 'callback';
Example::method();