リンク
とp

2012年02月14日

メモ php classクラスの参照渡しと値渡しの違い

メモ php classクラスの参照渡しと値渡しの違い

 PHP5のクラスで生成したオブジェクトを他の変数にそのまま渡す時に、そのままでは参照渡しになるそうです。
PHP4では値渡しだったらしいです。


 つまり、クラスAの変数があって、
クラスAのオブジェクトを作成して、その後、他の変数(オブジェクトとして使う)に渡します。
 そして、そのオブジェクトの変数(プロパティ)を他の値にすると、クラスAの変数も変わってしまうらしいです。

 そこで、各々の変数が独立して利用したい時は、
clone
を使うそうです。

PHP4とPHP5では、指定しないときがどちらになるか異なるそうです。
clone(値渡し)を指定しない時は、参照渡しとなるようです。
よって、ちゃんと値渡しの時は、cloneを指定した方がよさそう。



参考URL
http://www.objectphp.jp/2007/09/12/clone/






posted by goodman at 18:57| API、PHP、Perl、Web シェル | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。