PHP SplObjectStorage无法在类内创建
是否可以将受保护的PHP SplObjectStorage无法在类内创建,php,oop,object,splobjectstorage,Php,Oop,Object,Splobjectstorage,是否可以将受保护的SplObjectStorage初始化为类中的映射?每当我尝试这个时,我似乎都会遇到一个错误。与下面的示例类似: class a { protected $a = new SplObjectStorage(); ... } 您需要使用构造函数 class a { public function __construct() { $this->a = new SplObjectStorage(); } protected $a;
SplObjectStorage
初始化为类中的映射?每当我尝试这个时,我似乎都会遇到一个错误。与下面的示例类似:
class a {
protected $a = new SplObjectStorage();
...
}
您需要使用构造函数
class a {
public function __construct() {
$this->a = new SplObjectStorage();
}
protected $a;
...
}
只能使用简单类型或数组初始化类属性。能够做你想做的事情会很好,但这是PHP的另一个人为限制,你必须在构造函数中初始化它。你不能这样做,但你可能希望考虑将内部实例注入外部实例,这样它就不会硬连接。