Кохана 3: использование ремонтопригодных маршрутов - PullRequest
2 голосов
/ 30 ноября 2009

Я использую 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");

Есть еще один (более чистый) способ сделать это (похожий на url() и {% url %} Джанго?

PS: Извините за мой английский.

Ответы [ 2 ]

7 голосов
/ 01 декабря 2009

Да, вы хотите использовать обратную маршрутизацию с использованием имени маршрута. Попробуйте что-то вроде этого:

echo Html::anchor(
   Route::get('your_route_name')->uri(array('id'=>$user->id)), 
   "See user's profile"
);
0 голосов
/ 01 декабря 2009

то, что вам нужно, называется обратной маршрутизацией. у вас есть маршрут "имя" (с параметрами в конце концов) и вы связываете его с парой модуль / действие или с любым / путем.

затем вы используете это имя маршрута вместо прямого контроллера / пути действия, чтобы вы могли изменить имя действий так, как вам нравится в будущем.

вот страница, которая описывает это . помните, что в Kohana 2.x обратная маршрутизация не поддерживается (поэтому, когда он ссылается на 2.3, он на самом деле означает 3.x)

...