我的路由有问题。我的路由路径应该像这个/foo/{ID}/path
。我的第一个想法是创建新的路由。但我不确定这个解决方案。还有其他想法吗?
假设foo
是控制器,path
是动作:
Route::set('route name here', 'foo/<id>/path')
->defaults(
array(
'controller' => 'foo',
'action' => 'path',
)
);
然后id
可在path
操作中通过:使用
$id = $this->request->param('id');
-编辑-
如果id
必须满足某些要求(正好是8个字符长,在本例中只有a-z、a-z和0-9(,您也可以使用类似的东西:
Route::set('route name here', 'foo/<id>/path',
array(
'controller' => 'foo',
'action' => 'path',
'id' => '[a-zA-Z0-9]{8}',
)
)
->defaults(
array(
'controller' => 'foo',
'action' => 'path',
)
);
-编辑2-
抱歉,刚刚注意到您正在寻求为其创建路线的替代解决方案,而不是如何为其创建路由。
不过我会把这个留在这里,因为它将来可能会帮助其他人。