通过引用传递父类到嵌套类,它如何影响性能?

时间:2016-06-13 09:11:08

标签: php

我使用以下代码:

class parent {
    protected $oChild;

    function __construct() {
        $this->oChild = new child();
        $this->oChild->setParentPointer($this);
    }
}

class child {
    protected $oParent;

    public function setParentPointer(&$oParent) {
        $this->oParent = $oParent;
    }

    private function getParent() {
        return $this->oParent;
    }
}

问题:

  • PHP如何管理此引用,是否创建指针或 复制班级数据?

  • 是否将父级的所有数据和功能存储到子级中 从而复制用过的内存?

  • 在这种情况下,是否有更好的方法来调用父类?

1 个答案:

答案 0 :(得分:0)

在PHP objects are passed by reference by default中。因此,没有数据重复,并且对性能没有影响。此外,无需使用&符号。

很难说是否有更好的方法可以做到这一点,因为它是一个软件设计问题,它取决于上下文。通常,建议避免循环引用,但这并不意味着您在需要时不能这样做。