最近はZENカートモールのシステムを使って物作りをしています!コードを見ました!
function Notice($eventID, $paramArray = array()) {
$observers = &base::getStaticObserver();
if (!is_null($observers))
{
foreach($observers as $key=> $obs) {
}
}
function & getStaticObserver() {
returnbase::getStaticProperty('observer');
}
クラス内の各関数の後の & は何を意味しますか?
base::getStaticObserver() は、特定の型のメソッドを表すことを意味する必要があります。前に&を付けるのは参考になりますか?
メソッドを定義するときに & を付けるのはなぜですか?
詳しい説明をお願いします。
ディスカッションへの返信 (解決策)
2 番目の場所は、メソッドが参照を返すことを意味します
最終的に、$observers はベースへの参照です。 :$observer
$observers への変更は、base::$observer に影響を与えます
それは、base::$observer を使用するすべての動作に影響します
Base::$observer がスケジューリングに使用されない場合、この書き方はお勧めできません
もちろん、base::$observer がスケジューリングに適しているとしても、この書き方は推奨されません。わかりにくい