赋值给变量现有类


Assign to variable existing class

举个例子:

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

如何在不使用__construct方法的情况下将Text实例分配给Container::$variable ?

最后我想要这样的效果:

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

如果我尝试以下操作,PHP会给我一个错误:

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

不可能。你必须在某个地方构造一个new Text,这不能在定义类的时候完成(即你试图这样做的地方),因为类值只能用静态值初始化,不能用表达式初始化。您必须在构造函数中这样做。