Fonctions d’aide pour retrouver l’URL d’une route ou d’une méthode d’action sous Laravel

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.

▼Publicité

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.

Catégories