これが私がやりたいことです:
$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 はまさにこれを行っていると思いますが、その方法はわかりません。何かご意見は?
理由: 何十億ものゲッター/セッターを使用せずに、特定のオブジェクトへの変更を追跡したい。
わかりました、後世のために、コメントをありがとう。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 )
ご覧のとおり、「Miss Coder」が割り当てられる前と同じように、まだ SimpleXMLElement です。
お時間をいただきありがとうございました。