我添加了以下路线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
。
谢谢你。