这是我想要做的:
$var = new ObjectICreated("yay");
echo $var; // outputs "yay" via the __toString() magic method
$var = "Boo"; // $var is still a ObjectICreated, but will now output "Boo" from __toString()
我疯了吗?我认为 SimpleXML 就是这样做的,但我不确定如何。有什么想法吗?
推理:我想跟踪特定对象的更改,而不必使用数十亿个 getter/setter。
好的,感谢您的评论,为后代。SimpleXML 确实做到了这一点。以下工作基于http://www.php.net/manual/en/simplexml.examples-basic.php示例 #9 中的代码。
$x = simplexml_load_string($xml); // xml from example #9
// Pre-reference value
print_r($x->movie[0]->characters->character[0]->name);
// Assign to reference of a SimpleXMLElement
$x->movie[0]->characters->character[0]->name = 'Miss Coder';
print_r($x->movie[0]->characters->character[0]->name);
输出如下:
SimpleXMLElement Object ( [0] => Ms Coder )
SimpleXMLElement Object ( [0] => Miss Coder )
如您所见,它仍然是一个 SimpleXMLElement,就像在分配“Miss Coder”之前一样。
再次感谢大家的时间。