Laravel : Naviguez dans votre application comme un pro avec le routage et les contrôleurs

Laravel : Naviguez dans votre application comme un pro avec le routage et les contrôleurs



Laravel il y a 4 mois

Comprendre le routage et les contrôleurs dans Laravel

  • Routage: Dans Laravel, le routage établit une correspondance entre les URL (adresses web) et la logique correspondante de votre application qui gère ces requêtes. Lorsqu'un utilisateur visite une URL spécifique dans votre application Laravel, le système de routage dirige la requête vers la méthode de contrôleur appropriée pour traitement.
  • Contrôleurs: Les contrôleurs sont des classes qui encapsulent la logique métier de votre application. Ils contiennent des méthodes (fonctions) qui gèrent les requêtes entrantes, récupèrent des données de la base de données ou d'autres sources, effectuent des calculs et, finalement, génèrent une réponse (généralement une vue) à renvoyer au navigateur de l'utilisateur.

Création de votre premier route et contrôleur

  1. Générer un contrôleur (facultatif):

    • Si vous n'avez pas encore de contrôleur, vous pouvez utiliser la commande Artisan pour en créer un nouveau :

      Bash

      php artisan make:controller WelcomeController
      
    • Cela crée un fichier WelcomeController.php dans le répertoire app/Http/Controllers.
  2. Définir la route:

    • Ouvrez le fichier routes/web.php. Ce fichier contient toutes les routes de votre application web.
    • Ajoutez une route pour définir le modèle d'URL et la méthode du contrôleur qui la gère :

      PHP

      Route::get('/', 'WelcomeController@index');
      
    • Explication :
      • Route::get(): Cette méthode définit une route qui gère les requêtes GET (le type de requête le plus courant dans les applications web).
      • '/': Ceci spécifie le modèle d'URL. Dans ce cas, la route correspond à l'URL racine de votre application (généralement http://votre-application.com/).
      • 'WelcomeController@index': Cela indique à Laravel d'appeler la méthode index de la classe WelcomeController lorsque cette route est mise en correspondance. Le symbole @ sépare la classe du contrôleur du nom de la méthode.
  3. Implémenter la méthode du contrôleur:

    • Ouvrez le fichier WelcomeController.php et ajoutez la méthode index :

      PHP

      <?php
      
      namespace App\Http\Controllers;
      
      use Illuminate\Http\Request;
      
      class WelcomeController extends Controller
      {
          public function index(Request $request)
          {
              // Votre logique d'application ici
              // Vous pouvez accéder à l'objet de requête pour obtenir des informations sur la requête
              // (par exemple, saisie de l'utilisateur, en-têtes)
      
              return view('welcome'); // Retourne la vue 'welcome'
          }
      }
      
    • Explication :
      • La méthode index prend un objet Illuminate\Http\Request comme argument, qui fournit des informations sur la requête entrante (facultatif).
      • À l'intérieur de la méthode, vous pouvez écrire votre logique d'application, interagir avec la base de données, effectuer des calculs, etc.
      • Dans cet exemple, la méthode renvoie simplement la vue 'welcome', ce qui indique à Laravel de rendre le fichier de modèle Blade correspondant (resources/views/welcome.blade.php).

Exécution de votre application

  1. Démarrer le serveur de développement:
    • Exécutez la commande suivante dans votre terminal pour démarrer le serveur de développement Laravel intégré :

      Bash

      php artisan serve
      
  2. Accéder à votre application:
    • Ouvrez un navigateur Web et visitez http://localhost:8000/ (le port par défaut du serveur de développement). Vous devriez voir le contenu de votre vue welcome.

Considérations supplémentaires

  • Méthodes de contrôleur: Les contrôleurs peuvent avoir plusieurs méthodes pour gérer différents types de requêtes (GET, POST, PUT, DELETE) pour la même URL.
  • Vues: Les vues sont des modèles Blade (fichiers .blade.php) qui définissent la structure HTML des pages de votre application. Elles peuvent contenir du contenu dynamique basé sur les données transmises par le contrôleur.
  • Objet de requête: L'objet Request fournit des informations détaillées sur la requête entrante, telles que la saisie de l'utilisateur, les en-têtes, les cookies, etc.
  • Routage plus complexe: Laravel prend en charge des définitions de routes plus complexes avec des paramètres, des intergiciels (pour l'authentification, l'autorisation, etc.) et d'autres fonctionnalités à mesure que votre application se développe.

    Pour approfondir vos connaissances sur le routage et les contrôleurs Laravel, consultez la documentation officielle de Laravel : https://laravel.com/docs/11.x/routing