我正在尝试为子目录控制器定义RESTful路由.我希望能够在admin / questions / *上为网址创建路由.我的控制器是Admin_QuestionsController:
- application - controllers -Admin QuestionsController.PHP (class Admin_QuestionsController)
下面是我为这个控制器声明我的RESTful路由的方法:
$restRoute = new Zend_Rest_Route($front,array(),array( 'admin' => array('questions') )); $router->addRoute('rest',$restRoute);
..从文档中我看不出我做错了什么 – http://framework.zend.com/manual/1.12/en/zend.controller.router.html#zend.controller.router.routes.rest.但是,我收到以下错误:
Invalid controller specified (admin)
当我声明然后不是Rest路线时,我可以让路线工作:
$router->addRoute('admin_questions',new Zend_Controller_Router_Route( '/admin/questions',array( 'controller' => 'Admin_Questions','action' => 'index') ) );
如您已定义的Zend_Rest_Route路由,如果启用了Zend模块,则可以正常工作.该文档提到“将HTTP方法和URI转换为模块,控制器和操作”.要启用模块,请在application.ini中添加以下两行:
resources.modules[] = resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
然后在名为admin / controllers的application / modules中创建一个目录,并在application / modules / admin / controllers / QuestionsController.PHP中创建QuestionsController.
应用程序的其余部分(希望)仍可用作默认模块.