Kohana v3路线 - 多个可选参数

时间:2010-09-29 22:23:01

标签: php url seo kohana-3

我正在建立一个搜索系统,其中包含网址。所有参数都是可选的,共有15个可能的参数

http://example.com/search/key1-value/key2-value/key3-value/key13-value/key15-value

有没有比这更好的方法来设置路线?

Route::set('search', 'search(/<param1>(/<param2>(/<param3>(/<param4>(/<param5>(/<param6>(/<param7>(/<param8>(/<param9>(/<param10>(/<param11>(/<param12>(/<param13>(/<param14>(/<param15>)))))))))))))))')
        ->defaults(array(
        'controller' => 'search',
        'action'     => 'index',
));

然后我会在控制器中测试它们并将它们解析为一个整齐的数组。有没有办法用任意数量的可选/键值/参数指定路线?


修改

我注意到请求对象已经有了一个很好的参数数组 - 这导致我回到Route :: set问题..有没有办法用它来表示允许任意数量的参数而没有丑陋的...(/<param14>(/<param15>))))))))...嵌套?

2 个答案:

答案 0 :(得分:2)

没有

PS:有人可以说再简短的答案很糟糕,但没有什么可说的:不,没有这样的方式。

答案 1 :(得分:0)

Route::set('search', 'search(/<params>/)',array('params'=>'\.*'))
        ->defaults(array(
        'controller' => 'search',
        'action'     => 'index',
));

试过?