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
-
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épertoireapp/Http/Controllers
.
- Si vous n'avez pas encore de contrôleur, vous pouvez utiliser la commande Artisan pour en créer un nouveau :
-
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éralementhttp://votre-application.com/
).'WelcomeController@index'
: Cela indique à Laravel d'appeler la méthodeindex
de la classeWelcomeController
lorsque cette route est mise en correspondance. Le symbole@
sépare la classe du contrôleur du nom de la méthode.
- Ouvrez le fichier
-
Implémenter la méthode du contrôleur:
- Ouvrez le fichier
WelcomeController.php
et ajoutez la méthodeindex
: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 objetIlluminate\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
).
- La méthode
- Ouvrez le fichier
Exécution de votre application
- 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
- Exécutez la commande suivante dans votre terminal pour démarrer le serveur de développement Laravel intégré :
- 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 vuewelcome
.
- Ouvrez un navigateur Web et visitez
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