Kohana 3.2路线:多个目录

时间:2012-02-08 18:21:14

标签: php kohana kohana-3

我有一条路线:

Route::set('foo/subdir', '<directory>/<variable>/subdir/<controller>/<action>');

我想将此网址路由到以下控制器/操作:

/application/classes/<directory>/subdir/<controller>.php::action_<action>()

我已经拥有并且也需要这条路线,这使事情变得复杂:

Route::set('foo', '<controller>/<variable>/<action>');

这可能吗?

3 个答案:

答案 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类中进行少许修改以将全部/更改为_

尚未经过测试...... ;)但即将到来......