Laravel a prévu des mécanismes pour vous aider à retrouver l'URL d'une route ou d'une méthode d'action. Plutôt que de coder un URL en dur, on utilisera ces mécanismes pour donner plus de souplesse à notre code.
Voici donc comment retrouver l'URL d'une route à partir de son nom ou encore directement à partir de la méthode d'action à laquelle la route mène.
L'utilisation de routes nommées facilite le travail de programmation. À chaque fois que l'URL d'une page doit être utilisé dans le code, plutôt que d'entrer l'URL relatif ou absolu, on peut y référer par le nom de sa route. Un des avantages est qu'il sera ainsi plus facile de générer des URL dans la langue désirée (ex : http://mondomaine.com/produits vs http://mondomaine.com/products).
Pour retrouver l'URL correspondant à une route, on utilisera la fonction d'aide route().
$url = route('NomRoute');
Ex :
$url = route('pages.accueil');
Ainsi, si la route a été créée comme suit :
Route::get('/', [
'as' => 'pages.accueil',
'uses' => 'PagesController@index',
]);
La variable $url aura la valeur http://mondomaine.com.
La fonction d'aide route() peut également être utilisée dans une vue :
<a href="{{ route('pages.accueil' }}">Accueil</a>
Si un lien doit mener à une méthode d'action, comme par exemple la méthode index() dans le contrôleur ProduitsController, on utilisera la fonction d'aide action(). Laravel fera le lien entre cette méthode d'action et l'URL qui lui est associé dans une route.
$url = action('NomControleur@action');
Ex :
$url = action('ProduitsController@index');
Ainsi, si la route a été créée comme suit :
Route::get('produits', [
...
'uses' => 'ProduitsController@index',
]);
La variable $url aura la valeur http://mondomaine.com/produits.
▼Publicité