3

具有周期性参考是不好的做法还是会对性能产生重大影响?例如,添加对象 A 作为对象 B 的属性,然后添加对象 B 作为对象 A 的属性?

一个例子:

<?php 

class Object_A {

    public function __construct() {
        $this->b = new Object_B( $this );       
    }

    public function get_b() {
        return $this->b;
    }

}

class Object_B {

    public function __construct( Object_A $a ) {
        $this->a = $a;
    }
}

这个答案似乎是相似的,但对于 C#。

4

1 回答 1

3

有关循环引用的更一般性讨论,请参阅循环引用有什么问题?在程序员 stackexchange 网站上。但请记住,问题明确指出

我不是在询问同质循环引用,例如双向链表或指向父级的指针。

PHP 自 5.3 版以来实现了一个完全能够收集循环的垃圾收集器。

性能注意事项在手册中的垃圾收集 - 性能注意事项下进行了讨论。

于 2015-08-24T13:34:21.287 回答