2016-01-27 25 views
6

$appをクラス全体で使用可能にしようとしています。フィールドのデフォルト値として式を使用できません

まず、私が手:

"式がフィールドのデフォルト値として許可されていません"

を第二には、5行目で、私が取得:

未確認変数$のアプリを

どのように目標を達成できますか?

+1

なぜこの行の 'セミコロン;'は 'var $ app = Yii :: app();;' ?? –

+0

Yii;アプリを使用するための名前空間。 – RK12

答えて

8

静的メソッドであっても、PHPの変数のデフォルト値を設定するメソッドを呼び出すことはできません。コンストラクタで設定されるように、それを変更します。

use Yii; 

class UserController extends XController  
{ 
    var $app; 

    function __construct() { 
     $this->app = = Yii::app(); 
    } 

    public function init()  
    { 
     $test = $this->app; 
    } 
} 

追記として、あなたは説明のためthis questionを参照して、> 4 PHPのバージョンでvarキーワードを使用しないでください。

+0

Excelent回答ですが、なぜ 'var'を使うのですか?それは収差です – matiaslauriti

関連する問題