重複の可能性:
PHPでは、誰かがクローン作成とポインター参照を説明できますか?
http://php.net/manual/en/language.oop5.references.phpによると
よく言及されるPHP5OOPの重要なポイントの1つは、「オブジェクトはデフォルトで参照によって渡される」ということです。これは完全には真実ではありません。このセクションでは、いくつかの例を使用して、その一般的な考え方を修正します。
PHP参照はエイリアスであり、2つの異なる変数が同じ値に書き込むことができます。PHP 5以降、オブジェクト変数にはオブジェクト自体が値として含まれなくなりました。これには、オブジェクトアクセサが実際のオブジェクトを見つけることができるオブジェクト識別子のみが含まれています。オブジェクトが引数によって送信されたり、返されたり、別の変数に割り当てられたりする場合、異なる変数はエイリアスではありません。同じオブジェクトを指す識別子のコピーを保持します。
オブジェクトがエイリアスまたはハンドラーによって渡される場合、どのような状況で実際に参照によって渡されますか?
myFunc($obj); // Pass by alias/handler
myFunc(& $obj); // Pass by reference (when would you do this?)
myFunc(clone $obj); // Create a new object
これらのそれぞれの異なるユースケースは何ですか?