これに続いてguideがPHPでの参照を理解することは常に困難です。以下のパラメータで参照を使用する目的は何ですか?資料を参考にしなくてもレジストリパターン - 参考文献との相違点
public function register($name, &$object)
{
$this->registries[$name] =& $object;
}
public function &getRegistry($name)
{
return $this->registries[$name];
}
:
public function register($name, $object)
{
$this->registries[$name] = $object;
}
public function getRegistry($name)
{
return $this->registries[$name];
}
それは言及せずに、あまりにも正常に動作しますので、どのような利点がそれらを持っていますか?
'$ object'が実際にオブジェクトである場合、これらの例に利点があるかどうかはわかりません。 –
参照渡しは、オブジェクトのコピーではなくオブジェクトへの参照を渡します。参照渡しの場合、メソッド内でオブジェクトを変更することができ、変更は引数として渡されたオブジェクトに適用されます。 – feareoc
@Rasmus '$ object'が*オブジェクト*の場合、変更は明示的な参照の有無にかかわらずどちらかに影響します。割り当て時にオブジェクトはコピーされません。 – deceze