Question

J'utilise Kohana v3 pour un projet Web et aujourd'hui je me suis retrouvé à écrire ceci:

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

Si je renomme la méthode action_view dans le contrôleur d'utilisateur, le lien sera brisé. Pour éviter cela, j'ai créé une fonction dans le modèle Utilisateur qui renvoie l'URL utilisée pour afficher le profil de l'utilisateur:

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

Il existe un autre moyen (plus propre) de procéder (comme le url () et le {% url%} de Django?

PS: Excusez mon anglais.

Était-ce utile?

La solution

Oui, vous souhaitez inverser le routage en utilisant le nom de l’itinéraire. Essayez quelque chose comme ça:

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

Autres conseils

De quoi avez-vous besoin est appelé routage inverse. vous avez un itinéraire " nom " (avec éventuellement des paramètres) et vous l'associez à un couple module / action ou à un chemin

Ensuite, vous utilisez ce nom de route au lieu du chemin d'accès contrôleur / action direct afin de pouvoir modifier le nom des actions à votre guise.

voici une page qui décrit cette . sachez que dans kohana 2.x, le routage inverse n'est pas pris en charge (ainsi, lorsqu'il fait référence à 2.3, il signifie vraiment 3.x)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top