以下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