2014-06-08 50 views
0

是否可以將受保護的SplObjectStorage初始化爲類中的映射?每當我嘗試這個時,我似乎都會遇到錯誤。類似下面的例子:PHP SplObjectStorage無法在類中創建

class a { 

    protected $a = new SplObjectStorage(); 

    ... 

} 
+1

只能初始化類屬性用一個簡單的類型或數組。能夠做到你想要的東西真是太棒了,但這是PHP的另一個人爲限制 – Bojangles

+2

你將不得不在構造函數中初始化它。 – Jon

+0

你不能這樣做,但你可能希望考慮將內部實例注入外部實例,以便它不是硬連線的。 – halfer

回答

0

你需要使用構造

class a { 
    public function __construct() { 
    $this->a = new SplObjectStorage(); 
    } 

    protected $a; 

    ... 
}