Laravel - Routage

Dans Laravel, toutes les demandes sont cartographiées à l'aide de routes. Le routage de base achemine la demande vers les contrôleurs associés. Ce chapitre traite du routage dans Laravel.

Le routage dans Laravel comprend les catégories suivantes -

  • Routage de base
  • Paramètres de l'itinéraire
  • Itinéraires nommés

Routage de base

Tous les itinéraires d'application sont enregistrés dans le app/routes.phpfichier. Ce fichier indique à Laravel les URI auxquels il doit répondre et le contrôleur associé lui donnera un appel particulier. L'exemple d'itinéraire pour la page d'accueil peut être vu comme indiqué dans la capture d'écran ci-dessous -

Route::get ('/', function () {
   return view('welcome');});

Exemple

Observez l'exemple suivant pour en savoir plus sur le routage -

app/Http/routes.php

<?php
Route::get('/', function () {
   return view('welcome');
});

resources/view/welcome.blade.php

<!DOCTYPE html>
<html>
   <head>
      <title>Laravel</title>
      <link href = "https://fonts.googleapis.com/css?family=Lato:100" rel = "stylesheet" 
         type = "text/css">
      
      <style>
         html, body {
            height: 100%;
         }
         body {
            margin: 0;
            padding: 0;
            width: 100%;
            display: table;
            font-weight: 100;
            font-family: 'Lato';
         }
         .container {
            text-align: center;
            display: table-cell;
            vertical-align: middle;
         }
         .content {
            text-align: center;
            display: inline-block;
         }
         .title {
            font-size: 96px;
         }
      </style>
   </head>
   
   <body>
      <div class = "container">
         
         <div class = "content">
            <div class = "title">Laravel 5.1</div>
         </div>
			
      </div>
   </body>
</html>

Le mécanisme de routage est illustré dans l'image ci-dessous -

Comprenons maintenant les étapes impliquées dans le mécanisme de routage en détail -

Step 1 - Dans un premier temps, nous devons exécuter l'URL racine de l'application.

Step 2 - Maintenant, l'URL exécutée doit correspondre à la méthode appropriée dans le route.phpfichier. Dans le cas présent, il doit correspondre à la méthode et à l'URL racine ('/'). Cela exécutera la fonction associée.

Step 3 - La fonction appelle le fichier modèle resources/views/welcome.blade.php. Ensuite, la fonction appelle le view() fonction avec argument ‘welcome’ sans utiliser le blade.php.

Cela produira la sortie HTML comme indiqué dans l'image ci-dessous -

Paramètres de l'itinéraire

Parfois, dans l'application Web, vous devrez peut-être capturer les paramètres transmis avec l'URL. Pour cela, vous devez modifier le code dansroutes.php fichier.

Vous pouvez capturer les paramètres dans routes.php fichier de deux manières, comme indiqué ici -

Paramètres requis

Ces paramètres sont ceux qui doivent obligatoirement être capturés pour le routage de l'application Web. Par exemple, il est important de saisir le numéro d'identification de l'utilisateur à partir de l'URL. Cela peut être possible en définissant les paramètres d'itinéraire comme indiqué ci-dessous -

Route::get('ID/{id}',function($id) {
   echo 'ID: '.$id;
});

Paramètres facultatifs

Parfois, les développeurs peuvent produire des paramètres facultatifs et c'est possible avec l'inclusion de ?après le nom du paramètre dans l'URL. Il est important de conserver la valeur par défaut mentionnée comme nom de paramètre. Regardez l'exemple suivant qui montre comment définir un paramètre facultatif -

Route::get('user/{name?}', function ($name = 'TutorialsPoint') { return $name;});

L'exemple ci-dessus vérifie si la valeur correspond à TutorialsPoint et achemine en conséquence vers l'URL définie.

Itinéraires nommés

Les itinéraires nommés offrent un moyen pratique de créer des itinéraires. Le chaînage des routes peut être spécifié en utilisant la méthode de nom sur la définition de route. Le code suivant montre un exemple de création de routes nommées avec le contrôleur -

Route::get('user/profile', '[email protected]')->name('profile');

Le contrôleur utilisateur appellera la fonction showProfile avec paramètre comme profile. Les paramètres utilisentname méthode sur la définition de l'itinéraire.