2012-01-31 163 views
1

如何更改默認模塊的目錄。我使用Zend框架模塊目錄結構:更改默認模塊的目錄

modules 
    default 
     controllers 
      IndexController.php 
     etc 
    other-module 

但我怎麼能更改默認模塊目錄?我希望它被稱爲Api。因此,我將有:

modules 
    Api 
     controllers 
      IndexController.php 
    other-module 

我想要的URI保持不變如此:

http://localhost 

將路由到模塊/原料藥/控制器/ IndexController.php和運行的indexAction。

這是我在引導

protected function _initFrontController() 
{ 
    $front = Zend_Controller_Front::getInstance(); 
    $front->addModuleDirectory(APPLICATION_PATH.'/modules'); 
    return $front; 
} 
+0

我不確定,但在你的apllication.ini'resources.frontController.moduleDirectory = APPLICATION_PATH「/ modules/api」 – Rikesh 2012-01-31 11:15:26

回答

4

application/config.ini

# where to find modules 
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" 

# set the default module 
resources.frontController.defaultModule = "api" 

# which modules to activate 
resources.modules.api = "api" 
resources.moduler.other = "other" 

然後,您可以從Bootstrap中刪除_initFrontController()方法。

請注意這裏的字符大小寫。通常,模塊名稱(如配置文件和路徑中引用的)是小寫字母。此外,模塊的文件名稱將爲小寫(例如:application/modules/api)。特定於模塊的類名(例如,管理模塊中的控制器)將大寫模塊名的第一個字符作爲類前綴(例如:class Admin_ArticleController extends Zend_Controller_Action)。

[對於複姓和駝峯模塊名稱 - 喜歡你「其他模塊」的例子 - 我忘了具體的模塊類應如何準確爲前綴,但它很容易追下去,如果你真的需要它]

1

在你的config.ini

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" 
resources.modules[] = "default" 
resources.modules[] = "api" 

你的文件夾結構是確定