Blog Alphorm Logo de blog informatique spécialisé en technologie et solutions IT
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Créer un contrôleur RESTful dans Laravel
Agrandisseur de policeAa
Blog AlphormBlog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Search
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Suivez-nous
© Alphorm 2024 - Tous droits réservés
Développement

Créer un contrôleur RESTful dans Laravel

L'Équipe Alphorm Par L'Équipe Alphorm 22 janvier 2025
Partager
5e lecture en min
Partager

Gérer efficacement les ressources dans une application web peut être complexe sans un cadre organisé.

Sans un système structuré, la gestion des actions CRUD devient difficile, entraînant des erreurs et une maintenance compliquée.

Laravel propose une approche simplifiée avec les contrôleurs RESTful et les routes associées, facilitant la gestion des ressources.

Table de matière
Créer un contrôleur RESTful LaravelContenu de l'ArticleController LaravelAjouter des routes avec Route::resource()Actions CRUD via routes LaravelRoutes RESTful partielles LaravelRésumé du contrôleur Laravel RESTfulFAQConclusion

Formation Laravel : Le Guide Complet du Débutant

Initiez-vous à Laravel et réalisez votre première application en toute confiance.

Découvrir cette formation

Dans cette section, nous allons aborder la création d’un contrôleur RESTful pour gérer les ressources liées aux articles, ainsi que la liaison de ce contrôleur à des routes dans Laravel.

Créer un contrôleur RESTful Laravel

Laravel propose une méthode simplifiée pour créer un contrôleur RESTful via la commande Artisan. Un contrôleur de type « resource » est un contrôleur qui suit les conventions REST et permet de gérer les actions CRUD (Create, Read, Update, Delete).

Pour créer un contrôleur RESTful, vous utilisez la commande suivante dans votre terminal :

				
					
 php artisan make:controller ArticleController --resource

				
			

Cela va générer un fichier ArticleController dans le répertoire app/Http/Controllers , avec les méthodes par défaut pour chaque action d’un contrôleur RESTful (index, create, store, show, edit, update, destroy).

Arborescence des fichiers contrôleurs Laravel
Astuce Pratique :
Création rapide avec Artisan : Utiliser la commande php artisan make:controller –resource vous permet de générer rapidement un contrôleur avec toutes les méthodes nécessaires pour gérer les ressources. Cela économise du temps et assure que toutes les méthodes de gestion des actions CRUD sont présentes.

Contenu de l'ArticleController Laravel

Une fois le contrôleur créé, voici à quoi il ressemble avec toutes les méthodes par défaut générées par Laravel :

				
					
 <?php

namespace App\Http\Controllers;

 use Illuminate\Http\Request;

 class ArticleController extends Controller
 {
     public function index()
     {
         // Afficher la liste des articles
         return 'Liste des articles';
     }
     public function create()
     {
         // Afficher le formulaire de création d'un article
         return 'formulaire de création d\'un article';
     }
     public function store(Request $request)
     {
         // Enregistrer un nouvel article dans la base de données
     }
     public function show($article)
     {
         // Afficher un article spécifique
         return 'je suis l\'arcile avec id '.$id;
     }
     public function edit($article)
     {
         // Afficher le formulaire d'édition d'un article
     }
     public function update(Request $request, $article)
     {
         // Mettre à jour un article
     }
     public function destroy($article)
     {
         // Supprimer un article
     }
 }

				
			
Infos :
Chaque méthode correspond à une action spécifique dans le cycle de vie d’une ressource, comme l’affichage d’un formulaire (create), l’enregistrement dans la base de données (store), ou la suppression (destroy).
Laravel utilise le modèle Article par défaut pour les actions, ce qui vous permet d’interagir facilement avec la base de données.

Ajouter des routes avec Route::resource()

Une fois le contrôleur créé, il vous suffit d’ajouter les routes correspondantes dans le fichier routes/web.php. Laravel fournit une méthode spéciale Route::resource() qui lie toutes les routes RESTful à un contrôleur en une seule ligne de code.

				
					
 use App\Http\Controllers\ArticleController;
Route::resource('articles', ArticleController::class);

				
			

Cette ligne de code crée automatiquement toutes les routes nécessaires pour gérer les articles, en respectant les conventions REST. Voici les routes générées par Route::resource() pour un contrôleur ArticleController :

Méthode HTTP
Route
Action
Nom de la route
GET
/articles
index
articles.index
GET
/articles/create
create
articles.create
POST
/articles
store
articles.store
GET
/articles/{article}
show
articles.show
GET
/articles/{article}/edit
edit
articles.edit
PUT/PATCH
/articles/{article}
update
articles.update
DELETE
/articles/{article}
destroy
articles.destroy
Erreur Courante :
Ne pas avoir défini les méthodes du contrôleur : Si vous oubliez de définir certaines méthodes dans votre contrôleur, comme store ou destroy, vous obtiendrez une erreur lorsque vous essayez de visiter les routes correspondantes.

Actions CRUD via routes Laravel

Maintenant que les routes sont définies et liées au contrôleur, vous pouvez accéder aux différentes actions du contrôleur en visitant les URLs appropriées :

  • GET /articles pour lister tous les articles
  • GET /articles/create pour afficher le formulaire de création
  • POST /articles pour enregistrer un nouvel article
  • GET /articles/{article} pour afficher un article spécifique
  • GET /articles/{article}/edit pour éditer un article
  • PUT/PATCH /articles/{article} pour mettre à jour un article
  • DELETE /articles/{article} pour supprimer un article

Par exemple lorsqu’en teste cette url http://127.0.0.1:8000/articles en trouve ce résultat :

Page Liste des articles sur Laravel

Et aussi pour cela http://127.0.0.1:8000/articles/5 en trouve :

Sortie Laravel RESTful, article ID 5
Infos :
Les noms des routes : Laravel génère des noms pour chaque route, ce qui permet de les référencer facilement dans vos vues, contrôleurs ou tests en utilisant des fonctions comme route().

Routes RESTful partielles Laravel

Lors de la déclaration d’une route de ressources, vous pouvez spécifier un sous-ensemble d’actions que le contrôleur doit gérer au lieu de l’ensemble complet d’actions par défaut :

				
					
 Route::resource('articles', ArticleController::class)->only([
'index', 'show'
]);

Route::resource('articles', ArticleController::class)->except([
'create', 'store', 'update', 'destroy'
]);

				
			

Résumé du contrôleur Laravel RESTful

  • Créer un contrôleur resource :Utilisez la commande Artisan pour générer un contrôleur RESTful avecphp artisan make:controller ArticleController –resource.
  • Relier les routes au contrôleur :UtilisezRoute::resource()pour lier toutes les routes RESTful à un contrôleur en une seule ligne de code.
  • Accéder aux actions du contrôleur :Chaque action dans le contrôleur correspond à une route spécifique pour gérer les articles dans l’application Laravel.

Formez-vous gratuitement avec Alphorm !

Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.

Démarrer gratuitement
illustration processus de paiement en ligne avec étapes claires et convivialité

FAQ

Comment créer un contrôleur RESTful dans Laravel ?
Pour créer un contrôleur RESTful dans Laravel, utilisez la commande Artisan suivante : php artisan make:controller ArticleController –resource. Cette commande génère toutes les méthodes nécessaires pour un contrôleur de type ‘resource’, permettant de gérer les actions CRUD de manière standardisée. Le contrôleur est alors situé dans le répertoire app/Http/Controllers, prêt à être utilisé pour gérer les ressources de votre application.
Quelles sont les routes générées par Route::resource() ?
La méthode Route::resource() de Laravel génère automatiquement les routes RESTful pour un contrôleur donné. Pour un ArticleController, cela inclut des routes comme GET /articles pour lister les articles, POST /articles pour en créer un, et DELETE /articles/{article} pour supprimer un article. Chaque route est associée à une action spécifique du contrôleur, facilitant la gestion des ressources dans l’application.
Comment lier un contrôleur aux routes dans Laravel ?
Pour lier un contrôleur aux routes dans Laravel, ajoutez simplement une ligne dans le fichier routes/web.php en utilisant la méthode Route::resource(). Par exemple, Route::resource(‘articles’, ArticleController::class); lie toutes les routes RESTful nécessaires à l’ArticleController, simplifiant ainsi la gestion des actions CRUD dans votre application.
Quelles erreurs éviter lors de la création d'un contrôleur RESTful ?
Lors de la création d’un contrôleur RESTful, assurez-vous que toutes les méthodes nécessaires, comme store ou destroy, sont bien définies. Oublier de définir ces méthodes peut entraîner des erreurs lorsque ces routes sont appelées. Utiliser Artisan pour créer le contrôleur garantit que toutes les méthodes par défaut sont correctement mises en place.
Comment gérer un sous-ensemble d'actions dans un contrôleur resource ?
Dans Laravel, vous pouvez spécifier un sous-ensemble d’actions pour un contrôleur resource en utilisant les méthodes only() ou except() sur Route::resource(). Par exemple, Route::resource(‘articles’, ArticleController::class)->only([‘index’, ‘show’]); ne génère que les routes pour index et show, vous permettant de contrôler précisément les actions disponibles pour un contrôleur donné.

Conclusion

La création d’un contrôleur RESTful dans Laravel et la gestion de ses routes est un processus essentiel pour développer des applications web robustes. Quelle est votre prochaine étape dans l’exploration des fonctionnalités avancées de Laravel ?

ÉTIQUETÉ : Laravel
Facebook
Twitter
LinkedIn
Email
WhatsApp
Par L'Équipe Alphorm
Démocratiser la Connaissance Informatique pour Tous !
Suivre :
L'Équipe Alphorm, c'est la démocratisation de la connaissance informatique. Passionnés et dévoués, nous sommes là pour vous guider vers le succès en rendant la technologie accessible à tous. Rejoignez notre aventure d'apprentissage et de partage. Avec nous, le savoir IT devient une ressource inspirante et ouverte à tous dans un monde numérique en constante évolution.

Derniers Articles

  • Techniques pour gérer les fichiers texte en C#
  • Créer et lire un fichier CSV avec C#
  • JSON : Comprendre et Utiliser Efficacement
  • Créer une Base SQLite dans C#
  • Lecture des données SQLite simplifiée
Laisser un commentaire Laisser un commentaire

Laisser un commentaire Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

Blog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Créer un contrôleur RESTful dans Laravel

© Alphorm - Tous droits réservés