2011-05-14 14 views
1

我使用zend工具創建了一個項目test。然後我創建了一個模塊測試。然後我創建了TestController測試模塊。如何在Zend中訪問我的模塊?

現在,當我訪問test.dev/test/test/index時,它顯示以下錯誤。

Message: Invalid controller specified (test) 

如何在zend中啓用我的模塊。我想我必須讓我的的application.inibootstrap.php中

回答

4

添加到您的application.ini

resources.modules[] = 
resources.frontController.defaultModule = test 
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules/" 

你可能不設置默認的一個。那麼所有的URI-s都將是/ modulename/controllername/actionname。有一個默認模塊允許你省略「/ modulename」部分。

對於其他對象的訪問設置INCLUDEPATH-S和autoloadernamespaces中的application.ini:

includePaths.library = APPLICATION_PATH "/../library" 
autoloadernamespaces.form = "Form_" 

並遵循了Zend命名conthention然後在這個目錄。說,Form_User_Login類必須在APPLICATION_PATH . "/../library/Form/User/Login.php"

+0

感謝。你正在設置它默認,如果我不得不craete許多模塊。而且我也必須設置這個模塊,它應該訪問位於modules目錄之外的所有models/forms/acl。 – Student 2011-05-14 12:10:02

+0

我會將答覆添加到答案中。 – 2011-05-14 12:13:21

+0

好的。我正在等待您的編輯..我們可以在** Bootstrap.php **中執行此操作嗎? – Student 2011-05-14 12:17:14

1

定義公認的答案,我發現的幫助:

我剛纔添加下面的行的application.ini和所有模塊都可以訪問使用URL:

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" 

所以現在我的application.ini是這樣的:

[production] 
phpSettings.display_startup_errors = 1 
phpSettings.display_errors = 1 
;includePaths.library = APPLICATION_PATH "/../library" 
bootstrap.path = APPLICATION_PATH "/Bootstrap.php" 
bootstrap.class = "Bootstrap" 
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" 
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" 

[staging : production] 

[testing : production] 
phpSettings.display_startup_errors = 1 
phpSettings.display_errors = 1 

[development : production] 
phpSettings.display_startup_errors = 1 
phpSettings.display_errors = 1 

注意

moduleDirectory的說法應該是後controllerDirectory聲明。

幫助

相關問題