我添加了以下路线Phalcon\MVC\Router:
$router = new Phalcon\Mvc\Router();
$router->removeExtraSlashes(true)
->setDefaultNamespace('My\Controllers')
->setDefaultModule('default')
->setDefaultController('index')
->setDefaultAction('index');
$router->add('/admin/:controller/:action/:params', [
'module' => 'admin',
'controller' => 1,
'action' => 2,
'params' => 3,
'namespace' => 'My\Admin\Controllers'
])->setName('admin_module');
我正在处理以下 URL:
/admin/foo/bar/baz- 效果很好。我得到admin模块、foo控制器、bar动作、"baz"参数。/admin/foo/bar- 效果很好。我得到admin模块、foo控制器、bar动作。/admin/foo-不匹配。我希望得到admin模块、foo控制器、index动作。/admin-不匹配。我希望得到admin模块、index控制器、index动作。
问题:
如何使路由段可选并默认为提供的控制器和操作名称的默认值。我想避免为/admin和定义额外的路线/admin/:controller。
谢谢你。