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 に答える