0
我有一個SimpleXMLElement
的子類,我想要一個類屬性,它將爲已創建的子節點的屬性定義一些默認值。如何將PHP屬性添加到SimpleXMLElement?
爲了設置該值,我試圖覆蓋addChild
以下方法:
public function addChild($name, $value = '')
{
$child = parent::addChild($name, $enc_val);
error_log(print_r($this->default_link_type, true));
$child->set_default_val($this->default_val);
return $child;
}
的問題是表達:$this->default_val
不返回屬性的值,而是創建一個新的空子對象並返回它。
任何人都可以想出一種方法來重寫這個行爲的某些屬性?或者想到任何破解,這將允許我基本上擁有一個不涉及寫入文件,鍵值存儲等的所有這些SimpleXMLElement
子類的全局狀態。
你想要做的就是在創建時通過SimpleXMLElement添加一些默認屬性值的子節點?看看[SimpleXMLElement :: addAttribute](http://www.php.net/manual/en/simplexmlelement.addattribute.php),它應該像'$ child-> addAttribute('attribute-name' ,$ this-> default_val);'。關於你所說的問題,沒有看到你的子類定義以及'set_default_val'和'$ this-> default_val'是不是很容易幫助你。 –