PHP类中的函数文字

Pet*_*ter 3 php oop function literals

请看一下这段代码:

$array = array(
    'action' => function () { echo "this works"; }
);

class Test {
    public $array = array(
        "action" => function () { echo "this doesn't"; }
    );
}
Run Code Online (Sandbox Code Playgroud)

第一个函数literal解析正常,但第二个 - 类中的一个 - 触发语法错误:

解析错误:语法错误,意外'功能'(T_FUNCTION)...

有人可以向我解释一下吗?这是一个错误吗?

编辑:这是最新的PHP:5.6.6

Ban*_*ang 7

从课堂上来看它是一个属性!

来自物业的规则:

声明可能包括初始化,但此初始化必须是常量值 - 也就是说,它必须能够在编译时进行评估,并且必须不依赖于运行时 信息才能进行评估.

http://php.net/manual/en/language.oop5.properties.php

  • 这是一个正确的答案,但他们的措辞含糊不清:究竟`function(){echo"这不是"; }""取决于运行时信息"? (3认同)