在ZendFramework 1.8.2中使用模块

时间:2009-06-10 09:15:32

标签: php zend-framework

我正在尝试在ZF 1.8项目中使用模块,但无法将模块的操作路由到工作。

这是一个例子,我创建路径“/ test”,指向模块'test',controller'ttt'和action'index':

$router->addRoute(
    $name, 
    new Zend_Controller_Router_Route('test',
        array('controller' => 'ttt', 
              'module' => 'test',
              'action' => 'index'))
);

我初始化模块目录(创建diretory“ttt”,所需的控制器和视图类)并在引导期间指定它:

$front->addModuleDirectory(dirname(__FILE__) . '/modules');

但是当我打开像example.com/test这样的网址时,我收到的错误就像“消息:指定的控制器无效(ttt)”。

我的例子出了什么问题?

固定即可。 在application.ini中添加了以下行:

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"

2 个答案:

答案 0 :(得分:3)

对于不在默认模块中的控制器,必须在控制器类名称前加上模块名称和下划线。

class Test_TttController extends Zend_Controller_Action
{

}

答案 1 :(得分:0)

您是否复制了另一个Controller类文件,将其重命名并忘记将类声明更改为文件中的TttController?如果控制器确实存在,那将会得到错误消息。确保它看起来像这样:

class TttController extends Zend_Controller_Action
{
...

当然,我可能会离开。