看来您不能在类的范围内定义一组可调用方法。为什么不?
为什么这是有效的 PHP(参见http://3v4l.org/1JeQr)
$methods = array(
1 => function($subject, $value){
return ($subject == $value);
}
);
var_dump($methods[1]('a', 'a'));
但不是这个(见http://3v4l.org/FL449)
class Foo {
public static $methods = array(
1 => function($subject, $value){
return ($subject == $value);
}
);
}
var_dump(Foo::$methods[1]('a', 'a'));