Laravel: Routes de Base
Introduction
Les routes sont un élément essentiel dans Laravel, définissant la correspondance entre les URLs et les actions du contrôleur. Ce tutoriel couvre les bases des routes dans Laravel.
Exemples
Voici quelques exemples de déclaration de routes dans Laravel :
// web.php
Route::get('/', function () {
return 'Bienvenue sur la page d\'accueil';
});
Route::get('/about', function () {
return 'À propos de nous';
});
Route::get('/contact', 'ContactController@index');
Dans ces exemples, nous avons une route pour la page d'accueil, une pour la page "À propos" et une qui redirige vers une méthode du contrôleur "ContactController".
Remarques
- Les routes définissent la correspondance entre les URLs et les actions du contrôleur.
- Les routes peuvent être déclarées dans le fichier "web.php" situé dans le répertoire "routes".
- Les méthodes de routage courantes incluent `get`, `post`, `put`, `delete`, etc.
Exercices Corrigés
Testez vos compétences avec ces exercices pratiques :
// web.php
Route::get('/services', function () {
return 'Nos services';
});
Route::get('/articles/{id}', function ($id) {
return 'Affichage de l\'article ' . $id;
});
Dans cet exercice, ajoutez une route pour la page "Nos services" et une route dynamique pour afficher un article en fonction de son ID.
Questions à Choix Multiple
Évaluez votre compréhension avec cette question :
Quelle méthode de routage est utilisée pour déclarer une route qui répond à une requête GET dans Laravel?
- A. `post`
- B. `get`
- C. `put`
Réponse correcte : B
Questions & Réponses
Consultez cette section pour trouver des réponses aux questions fréquemment posées sur les routes de base dans Laravel.
Q: Comment rediriger une route vers une méthode d'un contrôleur?
R: Vous pouvez utiliser la syntaxe `Controller@method` dans la déclaration de la route, comme dans l'exemple `Route::get('/contact', 'ContactController@index');`.
Éléments à Retenir
- Les routes définissent la correspondance entre les URLs et les actions du contrôleur dans Laravel.
- Les routes peuvent être déclarées dans le fichier "web.php" situé dans le répertoire "routes".
- Les méthodes de routage courantes incluent `get`, `post`, `put`, `delete`, etc.
- On peut déclarer des routes statiques et dynamiques dans Laravel.
Dans Laravel, les routes permettent aux utilisateurs d'acheminer la requête appropriée vers le contrôleur souhaité. La route Laravel la plus basique accepte un Uniform Asset Identifier (votre chemin de route) et une fermeture qui peut être à la fois une fonction ou une classe.
Déclaration des routes
Les routes sont déclarées dans le fichier routes/web.php
. Ce fichier est automatiquement chargé par le fournisseur de services RouteServiceProvider
.
Voici un exemple de déclaration de route simple :
Route::get('/', function () {
return view('welcome');
});
Cette route correspond à l'URL /
et renvoie la vue welcome.blade.php
.
Types de routes
Laravel propose plusieurs types de routes, dont les plus courants sont :
get()
: pour les requêtes HTTPGET
post()
: pour les requêtes HTTPPOST
put()
: pour les requêtes HTTPPUT
patch()
: pour les requêtes HTTPPATCH
delete()
: pour les requêtes HTTPDELETE
Paramètres de route
Les routes peuvent également accepter des paramètres. Ces paramètres sont utilisés pour transmettre des données au contrôleur associé à la route.
Voici un exemple de route avec un paramètre :
Route::get('/articles/{id}', function ($id) {
// ...
});
Cette route correspond à l'URL /articles/{id}
, où {id}
est un paramètre. Le paramètre id
est ensuite transmis au contrôleur associé à la route.
Expressions régulières
Les routes peuvent également utiliser des expressions régulières pour valider les paramètres.
Voici un exemple de route avec une expression régulière :
Route::get('/articles/{id:\d+}', function ($id) {
// ...
});
Cette route correspond à l'URL /articles/{id}
, où {id}
doit être un nombre entier.
Routes nommées
Les routes peuvent être nommées pour faciliter la génération des URL et les redirections.
Voici un exemple de route nommée :
Route::get('/articles', function () {
// ...
})->name('articles.index');
Cette route correspond à l'URL /articles
et est nommée articles.index
.
Exemple complet
Voici un exemple complet de routes Laravel :
Route::get('/', function () {
return view('welcome');
});
Route::post('/articles', function () {
// ...
})->name('articles.store');
Route::put('/articles/{id}', function ($id) {
// ...
})->name('articles.update');
Route::delete('/articles/{id}', function ($id) {
// ...
})->name('articles.destroy');