gpt4 book ai didi

php - Zend_Rest_Route 不适用于子目录 Controller (例如 admin/questions)

转载 作者:可可西里 更新时间:2023-11-01 12:57:40 25 4
gpt4 key购买 nike

我正在尝试为子目录 Controller 定义 RESTful 路由。我希望能够为位于 admin/questions/* 的 url 创建路由。我的 Controller 是 Admin_QuestionsController:

- application
- controllers
-Admin
QuestionsController.php (class Admin_QuestionsController)

下面是我如何为这个 Controller 声明我的 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) 

当我声明不是休息路线时,我可以让路线工作:

$router->addRoute('admin_questions',
new Zend_Controller_Router_Route( '/admin/questions', array(
'controller' => 'Admin_Questions',
'action' => 'index')
)
);

..所以我不认为我的文件夹结构或类名有误。但是,我需要我无法实现的 RESTful 路由。

最佳答案

Zend_Rest_Route 路由就像您定义的那样,如果您启用了 Zend 模块,它就可以工作。该文档提到“将 HTTP 方法和 URI 转换为模块、 Controller 和操作”。要启用模块,请在 application.ini 中添加以下两行:

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

然后在 application/modules 中创建一个名为 admin/controllers 的目录,并在 application/modules/admin 中创建你的 QuestionsController/controllers/QuestionsController.php.

你的应用程序的其余部分应该(希望)仍然作为 default 模块工作。

关于php - Zend_Rest_Route 不适用于子目录 Controller (例如 admin/questions),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29716878/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com