ドキュメントは参照による割り当て(=)を使用しますが、これはPHP 5で必要ですか?


12

JFactory / getSessionなどのJoomlaドキュメントで、例=&では単純な割り当て(=)ではなく参照による割り当て()を使用していることに気付きました。

$session =& JFactory::getSession();

これは単に時代遅れですか、それとも意図的にPHP 4のユーザーをカバーしていますか?

これはPHP 5で必要ですか?または、私が見落としていたJoomlaに関連するものはありますか?


いい質問です!等号記号とアンパサンドを使用するのか、単に等号記号を使用するのか疑問に思うことがよくあります。
TryHarder

一部のドキュメントは更新されません。何かを見つけたら、編集ボタンを押すだけでウィキになります。
バレンティンデスパ14

回答:


9

これはPHP4回使用されました。PHP5以降、オブジェクトは参照によって割り当てられるため、明示的に行う必要はありません。


1
php 5では、多くの厳格な標準の警告も同様に発生します。また、Joomlaコアには多くの警告があり、開発エラー報告に切り替えると楽しいことがあります。PHPでのこれらの変更のもう1つは、後方互換性を困難にします。
ジョーダンラムスタッド14

Joomla 1.5では、PHP 4.3までをサポートするように作成されているため、問題があります。2.5および3.xでは、E_STRICTコアのエラーの量は最小限に抑えられています。
マイケル14

1
おかげで、PHP4の二日酔いに違いないと思っていましたが、Joomla 1.6+ではPHP5 +必要だったので、疑問に思っていました。些細な点ですが、オブジェクトは実際にはPHP5で「参照によって割り当てられる」わけではありません。PHP5ではクラスインスタンスの保存方法が異なるため、参照による割り当て演算子は(ほとんどの場合)reqdではありません。(クラスインスタンスは、PHP4のように、値自体ではなく「オブジェクト識別子」を保持します。)「オブジェクト識別子」は、オブジェクト値ではなく、PHP5で割り当てられます。最終的な結果は似ていますが、違いがあります。
MrWhite
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.