举个例子:
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
,这不能在定义类的时候完成(即你试图这样做的地方),因为类值只能用静态值初始化,不能用表达式初始化。您必须在构造函数中这样做。