私はツリーにノードを追加すると、私はその親のアドレス(私はそう思った)、その中に格納します。&in PHPはアドレスを意味しませんか?どのように木ノードに親ポインタを格納するのですか?
-- Client --
$parent = new Node();
$child = new Node();
$parent->add($child)
-- Class Node --
function add($child) {
$this->setParent(&$this);
$this->children[] = $child;
}
function setParent($ref_parent) {
$this->ref_parent = $ref_parent;
}
をしかし、私は$チャイルド> ref_parentエコーしようとすると、それがキャッチできる「に失敗しました私は&を使用します。子オブジェクトに親オブジェクトを格納したくないのですが、どのようなアイデアでも動作しないようですね。
もう少しupvotedする必要があります。私たち全員が行うパラダイムシフトミスの完璧な例。 –
@ e-satis:私は同意しません。実際には、この問題は、マニュアルを読まず、PHPのような奇妙な前提をCのようにしてしまった結果です。つまり、 "new"と "&"ポインタを返す " - >"間接的な " C++のような演算子、$ thisはポインタでなければなりません。したがって、&$ thisはオブジェクト型の**でしょう。だから、私はこれが特に良い質問ではないと思うので、私は確かにアップボートしません。 –