我需要一些关于多模块 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