Присвоить переменной существующий класс - PullRequest
0 голосов
/ 28 декабря 2011

Возьмите этот пример:

class Container {
    public $text;
    public $variable2;
}

class Text {
    public $other_variable;
}

Как я могу назначить Text экземпляр Container::$variable, не используя метод __construct?

В конце концов, я хочу этот эффект:

$class = new Container();
$class->text->other_variable;

Если я попробую следующее, PHP выдаст мне ошибку:

class Container {
    public $variable = new Text();
    public $variable2;
}

1 Ответ

4 голосов
/ 28 декабря 2011

Это невозможно.Необходимо где-то создать new Text, и это невозможно сделать во время определения класса (т. Е. Там, где вы пытались это сделать), поскольку значения класса могут быть инициализированы только статическими значениями, а не выражениями.Вам придется сделать это в конструкторе.

...