从$ class A-> __ construct()调用$ class时从$ class B访问$ class

时间:2010-08-13 01:14:20

标签: php oop

我认为我的头衔说明了一切。在__construct() $classA期间,$classB被实例化。在$classB实例化时,它需要访问$classA内的另一个类(即$classA->classC)。 $classC已经在$classA中进行了实例化。

$classB的__construct()函数中,我尝试执行Global $classA;之类的操作,以便从$classA->classC->method()获取内容。显然$classA尚未完成实例化,因此无法从全局范围导入。

我在无法通过Global访问$classA时所做的工作是将$this作为参数传递给$classB,当它在$classA中实例化时。这很麻烦但是有效。我想尽量避免传递$ this的混乱和hackish感觉。

有没有人有任何想法如何更好地完成我想要做的事情?

我知道这有点复杂,所以如果有人有任何想法我可以澄清它,我很乐意帮忙!

1 个答案:

答案 0 :(得分:1)

实际上,我会说将$ this传递给ClassB很好 - 我认为递归嵌套类实例是一种非常合理的方法。

更重要的是,有没有理由像这样递归嵌套?如果您可以在构造时重新组织类以这种方式不依赖于彼此,则可以简化整个问题。

(如果没有看到代码,我无法确定地说,而且我不是100%确定我理解这个问题)