2016-12-14 7 views
3

は、ここに私のコードです:プロパティを初期化するのがなぜ機能しないのですか?

class Log 
{ 
    private $mode = config('my.log.mode'); 
} 

が、それは構文エラーをスローします..!どうして?どうしましたか?

が、これは同様に動作次のように述べている。

class Log 
{ 
    private $mode; 

    public function __construct() 
    { 
     $this->mode = config('my.log.mode'); 
    } 
} 

だけでなく、ポイントは何ですか

答えて

4

プロパティは定数でのみ初期化できます。したがって、ここではconfig()または他のヘルパーを使用することはできません。

初期化が一定の値でなければなりません - つまり、コンパイル時に評価することができなければならないと

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

を評価するために、実行時の情報に依存してはなりません
+0

..またはPHP 5.6以降のスカラー式:http://docs.php.net/manual/en/migration56.new-features.php#migration56.new-features.const-scalar-exprs – simon

関連する問題