注册表模式 - 与参考和没有的区别

时间:2016-09-06 09:33:59

标签: php design-patterns registry-pattern

遵循这个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];
}

没有引用它也可以正常工作,那么它们有什么优势呢?

1 个答案:

答案 0 :(得分:2)

需要在PHP 4黑暗时代通过引用显式传递对象。由于PHP 5.0对象本质上一个引用,无论是否通过引用传递对象引用,它都没有任何区别。关于此事的每个指南都会告诉您通过引用省略传递对象。