PHP中的解析错误(Zend Framework)

cpr*_*gcr 1 php zend-framework

我有这个代码:
protected $val = Zend_Registry::get('values');

每当我把这段代码我得到:
Parse error: syntax error, unexpected '(', expecting ',' or ';' in ...

为什么会这样?

Mic*_*ski 5

您不能使用函数调用或其他动态表达式来初始化类属性.它只能是常数或原子值.如果需要使用函数调用对其进行初始化,则必须在构造函数中执行此操作.

protected $val = NULL;

public function __construct() {
  $this->val = Zend_Registry::get('values');
}
Run Code Online (Sandbox Code Playgroud)

来自文档:

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