我有一条路线:
Route::set('foo/subdir', '<directory>/<variable>/subdir/<controller>/<action>');
我想将此网址路由到以下控制器/操作:
/application/classes/<directory>/subdir/<controller>.php::action_<action>()
我已经拥有并且也需要这条路线,这使事情变得复杂:
Route::set('foo', '<controller>/<variable>/<action>');
这可能吗?
答案 0 :(得分:3)
为什么不,只要在目录路径之后定义了默认路由。
Route::set('foo/subdir', '<directory>/<variable>/subdir/<controller>/<action>')
->defaults(array(
'directory' => 'default_directory',
'controller' => 'index',
'variable' => 'default_variable',
'action' => 'index',
));
Kohanas路由支持“本地”目录,没有必要破解任何东西。
请注意,您的班级名称也必须包含目录名称。
答案 1 :(得分:0)
我想将subdir追加到目录
使用新的Route::filter功能可以在Kohana v3.3中实现。如果不修改Route和/或Request类,目前无法在Kohana 3.1或3.2中执行此操作。
答案 2 :(得分:0)
使用REGEXP将目录和子目录捕获为/ directory / subdirectory / controller / action 匹配Route就像// regexp允许你放入/在目录中。然后在Route类中进行少许修改以将全部/更改为_
尚未经过测试...... ;)但即将到来......