Pregunta

Estoy usando Kohana v3 para un proyecto web, y hoy me encontré escribiendo esto:

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

Si cambio el nombre del método action_view en el controlador de Usuario, el enlace se romperá. Para evitar esto, creé una función en el modelo de usuario que devuelve la URL utilizada para ver el perfil del usuario:

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

¿Hay otra forma (más limpia) de hacer esto (similar a url () y {% url%} de Django)?

PD: Disculpe mi inglés.

¿Fue útil?

Solución

Sí, desea el enrutamiento inverso utilizando el nombre de la ruta. Pruebe algo como esto:

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

Otros consejos

lo que necesitas se llama enrutamiento inverso. tienes una ruta " nombre " (con parámetros eventualmente) y lo asocia con un módulo / par de acciones o con lo que sea / ruta.

luego usa este nombre de ruta en lugar del controlador directo / ruta de acción para que pueda cambiar el nombre de las acciones como desee en el futuro.

aquí hay una página que describe esto . tenga en cuenta que en kohana 2.x no se admite el enrutamiento inverso (por lo tanto, cuando se refiere a 2.3, realmente quiere decir 3.x)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top