我在Zend中使用以下模塊實現。它允許您使用「模塊特定」配置。
application/config/config.ini
-----------------------------
[production]
resources.modules[] =
通過這樣做,您告訴Zend_Application您要使用Modules Bootstrap Resource插件。模塊插件將爲每個模塊加載一個單獨的靴帶類,不包括默認模塊。因此,您需要爲第二個模塊創建一個新的引導類。
application/modules/news/Bootstrap.php
-----------------------------
class News_Bootstrap extends Zend_Application_Module_Bootstrap {
//---------------------------------------
// Automatically load our resources
//
// NOTE: You don't have to add this, its
// just and example to show that you
// can customize the bootstrap
// process just for this module.
public function _initModuleResourceAutoloader(){
$this->getResourceLoader()->addResourceTypes(array(
'modelResource' => array(
'path' => 'models/resources',
'namespace' => 'Resource'
)
));
}
}
此「News_Bootstrap」類現在將在引導過程中加載並執行。
該文件的命名約定很重要,因爲模塊資源插件需要能夠找到該類。注意你必須命名文件Bootstrap.php。
最後,你會注意到你像Zend_Application_Module_Bootstrap一樣在Zend_Application_Bootstrap_Bootstrap中進行子類化,就像你在主引導中做的那樣。
現在,您的特定模塊的配置應該工作:
[production]
news.resources.db.adapter = "pdo_mysql"
news.resources.db.params.host = "localhost"
news.resources.db.params.username = "webuser"
news.resources.db.params.password = "XXXXXXX"
news.resources.db.params.dbname = "news"
剛剛送走了蝙蝠,我不會建議使用特定模塊的配置,因爲這聽起來像它會做的事*極其*混亂的下一個人來維護應用程序。我仍然投了票,因爲我可能是錯的。 – karim79 2010-12-02 19:15:35
嘿Darryl,我發現這篇文章,它可能會有所幫助http://www.amazium.com/blog/zend-framework-module-specific-config – tawfekov 2010-12-05 20:20:49