我使用以下代码:
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如何管理此引用,是否创建指针或 复制班级数据?
是否将父级的所有数据和功能存储到子级中 从而复制用过的内存?
在这种情况下,是否有更好的方法来调用父类?
答案 0 :(得分:0)
在PHP objects are passed by reference by default中。因此,没有数据重复,并且对性能没有影响。此外,无需使用&
符号。
很难说是否有更好的方法可以做到这一点,因为它是一个软件设计问题,它取决于上下文。通常,建议避免循环引用,但这并不意味着您在需要时不能这样做。