Routing 通过科哈纳的路线配置传递额外的参数
在Kohana中是否有向控制器动作传递额外参数的机制 例如:Routing 通过科哈纳的路线配置传递额外的参数,routing,kohana,Routing,Kohana,在Kohana中是否有向控制器动作传递额外参数的机制 例如: Kohana路由文档似乎没有讨论这一点。但是,有没有办法让它发挥作用。我想你可以通过这种方式达到你喜欢的任何水平: $config['article/([0-9]+)'] = 'news/show/more/more/more/etc/$1'; 或者,如果您希望额外的参数是$\u GETable变量,那么: $config['article/([0-9]+)'] = 'news/show/$1?param1=some_stuff&a
Kohana路由文档似乎没有讨论这一点。但是,有没有办法让它发挥作用。我想你可以通过这种方式达到你喜欢的任何水平:
$config['article/([0-9]+)'] = 'news/show/more/more/more/etc/$1';
或者,如果您希望额外的参数是$\u GETable变量,那么:
$config['article/([0-9]+)'] = 'news/show/$1?param1=some_stuff¶m2=another_stuff';
路由重写URL,这样您就可以在新URL中包含您想要的任何数据,但不能按照您建议的方式。关键是要理解您只能输入URL 这是一种方法:
$config['article/([0-9]+)'] = 'news/show/$1/some_stuff';
然后,您可以捕获新闻控制器的show
方法中的参数
另请参见有关的Kohana文档
如果您需要更复杂的内容,您可以创建更复杂的URL或在URL中序列化
和urlencode
数据。这是自动发生的,您不需要在路由配置中执行任何操作,只需执行此操作即可
class Controller_News extends Controller {
public function action_show($param1, $param2 = "can have default value too"){
// can be called with 'yoursite.com/news/show/param1/param2'
}
}
这在Kohana 3中已经发生了变化,您必须更改bootstrap.php文件才能正常工作
来自非官方维基
带2个参数的基本路线
与KO2不同,引导中的KO3路由默认值不会处理2个或更多参数,如example.com////
在bootsrtap.php文件中
Route::set('default', '(<controller>(/<action>(/<id1>(/<id2>))))')
Route::set('default','(/(/(/))))
Basic Route with 2 parameters
Unlike KO2, KO3 Routing default in your bootstrap does not handle 2 or more parameters like example.com/<controller>/<action>/<param1>/<param2>
Route::set('default', '(<controller>(/<action>(/<id1>(/<id2>))))')