3

私は、次のような多くの古い PHP コードを使用しています。

$someVar =& new SomeClass();

new演算子は、参照ではなく値を返しましたか? (入力するのが変です。正気を失っているような気がします。)

4

3 に答える 3

5

これは、PHP 4 の OOP に関する多くの古い本で教えられているような最適化手法の 1 つです。

基本的に、メモリ内に作成された最初のオブジェクトは、参照によってインスタンスを返さない限り、アプリケーションがアクセスできないオブジェクトです。それ以外の場合は、オブジェクトのコピーを取得します。唯一の問題は、オリジナルがシンボルなしで存在することです。ちょっと馬鹿。

しかし、オブジェクトの作成と受け渡し、および PHP 4 での参照は途方もない混乱です。

于 2008-12-08T21:25:54.477 に答える
4

それはPHP4コードです。ドキュメントから:(現在は削除されています)

「new」はデフォルトでは参照を返さず、代わりにコピーを返します。

[1]: http://no.php.net/manual/en/language.oop.newref.php

于 2008-12-08T21:19:25.410 に答える
1

問題を説明するための簡単なコードサンプルを含む私の回答も参照してください

于 2009-01-24T13:54:57.480 に答える