php实例之间的相互引用

时间:2014-12-24 05:50:45

标签: php codeigniter

昨晚我在Codeigniter中添加了一个库类(名为Mongoq),我在库类中发现当我们想要使用超级instacnce $ CI的属性或函数时,我们通常会像这样引用$ CI $this->CI = &get_instance

当库类的实例被完全构造时,通常将库实例分配给$ CI的属性,在这种情况下,$ CI-> mongoq引用上面讨论的lib实例。

我意识到$ CI和$ Mongoq建立了相互引用,然后我在var_dump这两个实例中找到了关于这个共同引用的一些细节。

你知道$ CI-> mongoq引用mongoq实例和mongoq实例也有$ CI的引用点。 所以$ CI-> mongoq的价值是这样的 ["mongoq"]=>object(Mongoq)#22 (22){["CI":"Mongoq":private]=> *RECURSION*

Mongoq属性CI的值是RECURSION,有人知道更多关于此的细节或剂量相互参考对php的效率有一些影响。先欣赏。

1 个答案:

答案 0 :(得分:1)

基本上这种关系可以永远存在,对吧?

A - > B - > B-> A ......等

这个值确实是正确的,Recursion只是说它是递归的,它没有任何问题。

当您尝试使用递归对json_encode对象进行处理时,您需要特别小心,因为有时会抛出错误。

简而言之, RECURSION 只会在文字中显示您在此处所说的内容。