0

可能重复:
使用简单表达式初始化 PHP 类属性声明会产生语法错误

我不想在每个方法中都实例化我的会话对象。为什么我不能这样做:

class Foo {

   public $session = Session::instance();

   public function bar() {
      // Pass success message in session
      $this->session('message', 'Success');

   }
}

我得到的错误:

[ Parse Error ]: syntax error, unexpected '(', expecting ',' or ';'
4

1 回答 1

0

PHP 不允许您在类定义中使用表达式(这在许多语言的类定义中是标准的)。你可以做几件事:

public function __construct() {
   $this->session = Session::instance();
}

//Dependency Injection
public function __construct(Session $session) {
   $this->session = $session;
}
于 2013-01-26T18:39:28.123 回答