Выражение не допускается по значению поля по умолчанию

Я пытаюсь сделать $app доступным для всего класса.

Во-первых, я получаю:

"Выражение не разрешено как значение по умолчанию поля

Во-вторых, в строке 5 я получаю:

Неопознанная переменная $app

Как я могу достичь своей цели?

class UserController extends XController
{
    var $app = Yii::app();;
    public function init()
    {
        $test = $app;

Ответ 1

Вы не можете вызвать метод для установки значения по умолчанию для переменной в PHP, даже если это статический метод. Измените его, чтобы установить в конструкторе:

use Yii;

class UserController extends XController    
{
    var $app;

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

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

Как примечание, вы не должны использовать ключевое слово var в версиях PHP> 4, смотрите этот вопрос для объяснения.