Kohana 3: Verwendung wartbar Routen
Frage
Ich bin mit Kohana v3 für ein Web-Projekt, und heute fand ich mir das Schreiben:
echo Html::anchor('user/view/'.$user->id, "See user's profile");
Wenn ich die action_view
Methode in den User-Controller umbenennen, wird die Verbindung unterbrochen sein. Um dies zu vermeiden, habe ich eine Funktion im User-Modell, das die URL für die Anzeige des Benutzerprofils verwendet zurückgibt:
echo Html::anchor($user->url_view(), "See user's profile");
Es gibt einen anderen (Reiniger) Weg, dies (ähnlich Djangos url()
und {% url %}
) zu tun?
PS:. Entschuldigen Sie mein Englisch
Lösung
Ja, Sie wollen umkehren die Routennamen Routing verwenden. Probieren Sie etwas wie folgt aus:
echo Html::anchor(
Route::get('your_route_name')->uri(array('id'=>$user->id)),
"See user's profile"
);
Andere Tipps
Was tun Sie brauchen, ist Reverse-Routing genannt. Sie haben eine Route „namen“ (mit Parametern schließlich) und verknüpfen Sie es mit einem Modul / Aktions-Paar oder mit was auch immer / Weg.
dann verwenden Sie diesen Weg Namen anstelle des direkten Steuerung / Aktionspfades, so dass Sie den Namen der Aktionen ändern kann, wie Sie in Zukunft gerne.
hier ist eine Seite, die beschreibt, diese . bewusst sein, dass nicht unterstützt 2.x Rückleitung in kohana wird (so, als er ihn wirklich bedeutet 3.x bis 2.3 bezeichnet)