Formation PUB030 : Laravel, 2019 Les liens et les URL

24.4 Fonctions d'aide pour retrouver l'URL d'une route ou d'une méthode d'action


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.

URL d'une route nommée

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().

Syntaxe Laravel

$url = route('NomRoute');

Ex :

Contrôleur Laravel (PHP)

$url = route('pages.accueil');

Ainsi, si la route a été créée comme suit :

Fichier routes\web.php

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 :

Vue Laravel (Blade)

<a href="{{ route('pages.accueil' }}">Accueil</a>

URL d'une méthode d'action dans un contrôleur

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.

Syntaxe Laravel

$url = action('NomControleur@action');

Ex :

Contrôleur Laravel (PHP)

$url = action('ProduitsController@index');

Ainsi, si la route a été créée comme suit :

Fichier routes\web.php

Route::get('produits', [

    ...

    'uses' => 'ProduitsController@index',

]);

La variable $url aura la valeur http://mondomaine.com/produits.

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre