如何在Zend中访问我的模块?

时间:2011-05-14 11:59:49

标签: php zend-framework module

我使用zend工具创建了一个项目 test 。然后我创建了一个模块 test 。然后我在测试模块中创建了 TestController

现在,当我访问 test.dev/test/test/index 时,会显示以下错误。

Message: Invalid controller specified (test) 

如何在zend中启用我的模块。我想我必须启用 application.ini Bootstrap.php

2 个答案:

答案 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"

中定义Form_User_Login类

答案 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 语句之后。

帮助