我目前正在創建基於OOP原則的東西,我試圖應用依賴注入。我知道我可能在這裏做錯了什麼,整個DI事情似乎更令人困惑,可能它是,但我仍然努力讓自己的頭腦得到解決。依賴注入 - 傳遞對象
我創建了一個Form類,它將輸出各種表單元素,但表單類將至少需要兩個其他類(創建爲對象)才能正常工作。
下面是我知道了:
$config = new Config();
$db = new Database();
$html = new HTML();
$form = new Form($config, $db, $html);
這只是我玩弄這樣形式可能並不需要所有這些事情,但我用它們來說明這一點。
現在,當我創建表單時,我不想將三個對象傳遞給它以使用它。我可以用靜態方法解決這個問題,但這不是我想要走下去的路。
那麼,能夠使用Form類中前面創建的三個對象的最佳方法是什麼?
我想我在一定程度上想要一個幾乎全球性的行爲。
我發現了一些關於這個和工廠,IoC容器等的東西,但沒有解釋清楚和容易,所以任何幫助這將是偉大的。或者甚至是一個易於理解的教程的鏈接,或者是我自己找不到的東西。
我還發現疙瘩 - 可能像這樣的東西沿着正確的線?
所以我會只是創建一個通用工廠類,以及與所有其他類交易?有沒有在任何地方容易理解的例子?謝謝! – 0Neji 2013-05-03 13:46:12
如果您有像Form這樣的其他類的工廠,並且如果這些不同的工廠都收到了相同的依賴關係,那麼您可以只使用一個工廠,並使用createForm方法等幾種方法。 – Adder 2013-05-03 14:10:16
有道理,那麼我只是傳遞工廠對象? – 0Neji 2013-05-03 14:55:16