2015-04-26 46 views
2

在Zend Framework 2中,我編寫了一個帶有自定義配置選項的模塊。使用服務定位器獲得Zend Framework 2:自定義配置爲Zend Config Config或純PHP數組,建議的方式是什麼?

的選項和然後被傳遞到正被一個工廠內初始化的對象。

因爲我的配置是PHP數組格式,所以我可以傳遞數組,或者我可以先創建一個新實例Zend\Config\Config並將其傳遞給新對象。

我試過兩種方法&他們都工作,但爲什麼在ZF2 &內部這樣做的建議方式是什麼?使用Zend\Config\Config有什麼好處嗎?

特別是因爲我剛剛注意到可以使用toArray()Config重新設置爲數組,我很好奇可能的好處。

+0

在你的情況可能沒有什麼不同,但是對象也可以通過引用和按值傳遞。 – AlexP

回答

1

通過使用你將與固有的Zend的OOP可以保持物體,再加上它也沒有提供給基本陣列功能,並可以擴展如果有需要使用自定義業務邏輯。

IE,也許情況出現,將改變其中一個配置選項,但其餘的都是一樣的。

0

如果我開發其他項目,我想給他們訪問了一定程度的配置,使他們沒有任何理由去鑽研代碼本身。我將在數據庫中創建一個名爲「settings」或「config」的表,管理員可以通過表單訪問這些表,並且數據將填充一個php配置數組。爲了做到這一點,PHP數組格式是最好的選擇。

(「A」的建議,並不一定「的」推薦的方式)

0

大多數模塊只需添加到全局配置,即通過$serviceManager->get('config')

這樣你的配置以後可以緩存訪問通過config_cache_enabled登錄application.config.php,用戶可以使用其本地配置覆蓋配置選項。

如果您的模塊配置不涉及全局配置機制,它真的給你你如何存儲/管理。保持它作爲一個數組更簡單,而使用它作爲Zend\Config\Config可讓您使用各種工具進行配置(ini編寫者,數據庫等)。