Kohana 3:使用可维护的路线

时间:2009-11-30 17:30:34

标签: php kohana

我正在使用Kohana v3进行网络项目,今天我发现自己写了这个:

echo Html::anchor('user/view/'.$user->id, "See user's profile");

如果我在用户控制器中重命名action_view方法,则链接将被破坏。为了避免这种情况,我在User模型中创建了一个函数,该函数返回用于查看用户配置文件的URL:

echo Html::anchor($user->url_view(), "See user's profile");

还有另一种(更干净的)方法(类似于Django的url(){% url %})?

PS:请原谅我的英语。

2 个答案:

答案 0 :(得分:7)

是的,您希望使用路由名称进行反向路由。尝试这样的事情:

echo Html::anchor(
   Route::get('your_route_name')->uri(array('id'=>$user->id)), 
   "See user's profile"
);

答案 1 :(得分:0)

你需要什么称为反向路由。你有一个路由“名称”(最终带参数),你将它与模块/动作对或任何/路径相关联。

然后您使用此路由名称而不是直接控制器/操作路径,以便您以后可以根据需要更改操作的名称。

<击> here's a page that describes this。请注意,在kohana 2.x中不支持反向路由(因此,当他提到2.3时,他的确意味着3.x)