2010-08-13 28 views
0

我認爲我的標題說了這一切。在__construct()-$classA$classB被實例化。當$classB被實例化時,它需要訪問$classA內的另一個類(即$classA->classC)。 $classC已在$classA中實例化。

$classB的__construct()函數裏面我試圖做一些像Global $classA;這樣我可以從$classA->classC->method()得到一些東西。顯然$classA尚未完成實例化,因此無法從全局範圍導入。

我做了什麼來解決不能夠通過全球訪問$classA是當它在$classA被實例化通過$this作爲參數傳遞給$classB。這是混亂的,但它的工作。我想盡量避免傳遞$這個混亂和黑客的感覺。

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

我知道這是一種複雜的,所以如果任何人有任何想法我可以澄清它,我會很樂意義務!

+0

你能否提供一些代碼來顯示你現在正在做的方式? – willoller 2010-08-13 01:31:39

+0

這是一種不正確的方式來做我認爲的事情。你能展示真實的例子嗎?也許我們可以幫助重新設計這段代碼。 – 2010-08-13 07:29:27

回答

1

實際上,我認爲將$ this傳遞給ClassB是好的 - 我認爲這是遞歸嵌套類實例的完全合理的方式。

更重要的是,你是否有這樣遞歸嵌套的原因?如果你可以重新組織這些類來不以這種方式依賴於施工,你可以簡化整個問題。

(我真的不能肯定地說沒有看到代碼,我不是100%肯定,我理解這個問題)

相關問題