我使用zend工具创建了一个项目 test 。然后我创建了一个模块 test 。然后我在测试模块中创建了 TestController 。
现在,当我访问 test.dev/test/test/index 时,会显示以下错误。
Message: Invalid controller specified (test)
如何在zend中启用我的模块。我想我必须启用 application.ini 或 Bootstrap.php
答案 0 :(得分:4)
将此添加到您的application.ini
resources.modules[] =
resources.frontController.defaultModule = test
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules/"
您可能无法设置默认值。然后所有URI-s都是/ modulename / controllername / actionname。使用默认模块可以省略“/ modulename”部分。
对于其他对象访问,在application.ini中设置includePath-s和autoloadernamespaces:
includePaths.library = APPLICATION_PATH "/../library"
autoloadernamespaces.form = "Form_"
然后在这个目录中按照Zend命名结构。比如,必须在APPLICATION_PATH . "/../library/Form/User/Login.php"
答案 1 :(得分:1)
在接受回答的帮助下,我发现:
我刚刚在 application.ini 中添加了以下行,并且可以使用网址访问所有模块:
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 语句之后。
帮助强>: