将objects属性设置为等于另一个对象的实例

时间:2013-01-26 18:36:24

标签: php parse-error

  

可能重复:
  Initializing PHP class property declarations with simple expressions yields syntax error

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

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 ';'

1 个答案:

答案 0 :(得分:0)

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

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

//Dependency Injection
public function __construct(Session $session) {
   $this->session = $session;
}