【发布时间】:2016-08-11 21:48:38
【问题描述】:
我需要一些关于多模块 Phalcon 应用程序的帮助。我按照https://github.com/phalcon/mvc/tree/master/multiple 的说明进行操作,但无法让变量路由为非默认模块工作。
$router = new Router();
$router->setDefaultModule("admin");
$router->setDefaultAction('index');
这适用于admin 模块:
$router->add("/:controller/:action/:params", array(
'module' => 'admin',
'controller' => 1,
'action' => 2,
'params' => 3
));
这仅适用于手动设置的api 模块(非默认模块):
$router->add("/api", array(
'module' => 'api',
'controller' => 'index'
));
$router->add("/api/user", array(
'module' => 'api',
'controller' => 'user',
'action' => 'index'
));
但这不适用于api 模块:
$router->add("/api/:controller/:action/:params", array(
'module' => 'api',
'controller' => 1,
'action' => 2,
'params' => 3
));
然后,当我使用 /api 或 /api/user 时,我会收到如下错误:
\www\site\public\index.php:104:string 'admin\controllers\ApiController handler class cannot be loaded'
但是当我访问 /api/user/index 时它可以工作。对于非默认模块,它似乎忘记了setDefaultAction
【问题讨论】: