Comment créer un contrôleur Laravel : comprendre la logique

Voici une proposition de meta description : "Apprenez à organiser la logique de vos routes avec des contrôleurs efficaces ! Découvrez comment structurer votre

Mahmoud DEVO
Mahmoud DEVO
December 28, 2025 3 min read
Comment créer un contrôleur Laravel : comprendre la logique

Gérer les Contrôleurs et les Routes dans une Application Laravel

Introduction

Les contrôleurs sont un élément clé de l’architecture d’une application Laravel. Ils sont chargés de gérer les routes et de passer les requêtes HTTP à travers votre application. Dans ce tutoriel, nous allons explorer comment créer et utiliser des contrôleurs pour organiser la logique de vos routes.

Création d’un Contrôleur

Pour commencer, nous allons créer un contrôleur avec l’aide de l’outil Artisan de Laravel. Ouvrez votre console et exécutez la commande suivante :

php artisan make:controller TasksController

Cette commande créera un nouveau fichier TasksController.php dans le répertoire app/Http/Controllers. Ouvrez ce fichier et modifiez-le comme suit :

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class TasksController extends Controller
{
    public function index()
    {
        return 'Hello, World!';
    }
}

Nous venons de créer un contrôleur avec une méthode index() qui retourne simplement le texte “Hello, World!”.

Liaison des Routes

Maintenant que nous avons notre contrôleur, il faut lier les routes à nos méthodes. Dans le fichier routes/web.php, ajoutez la ligne suivante :

Route::get('/', 'TasksController@index');

Cette ligne liait la route / à la méthode index() de notre contrôleur.

Contrôleurs et Noms d’Espace

Lorsque vous référez un contrôleur dans une route, vous pouvez omettre le nom de l’espace (App\Http\Controllers\) si vous êtes déjà dans cet espace. Par exemple, pour accéder à la méthode index() de notre contrôleur, nous pouvons simplement utiliser :

Route::get('/', 'TasksController@index');

Méthodes Communes

Les contrôleurs peuvent contenir des méthodes pour gérer différentes actions, comme créer, lire, mettre à jour ou supprimer des ressources. Voici un exemple de méthode index() qui affiche tous les tâches :

public function index()
{
    return view('tasks.index')->with('tasks', Task::all());
}

Cette méthode utilise la vue tasks.index et passe une variable $tasks contenant tous les tâches à cette vue.

Génération de Contrôleurs Ressources

Si vous avez utilisé l’outil Artisan avant Laravel 5.3, vous pourriez être habitué à utiliser la commande php artisan make:controller TasksController --resource. Cette commande génère automatiquement des méthodes pour les routes CRUD (Create, Read, Update, Delete). Pour obtenir ce comportement dans Laravel 5.3+, vous pouvez passer la option --resource lors de la création du contrôleur :

php artisan make:controller TasksController --resource

Entrées Utilisateur

Les contrôleurs peuvent également gérer les entrées utilisateur en utilisant la méthode request() pour récupérer les données provenant des requêtes HTTP. Voici un exemple de méthode store() qui crée une nouvelle tâche à partir des données fournies par l’utilisateur :

public function store()
{
    Task::create(request()->only(['title', 'description']));
    return redirect('tasks');
}

Cette méthode utilise la méthode request()->only() pour récupérer les champs title et description de la requête HTTP, puis crée une nouvelle tâche à partir de ces données.

Injecter des Dépendances dans les Contrôleurs

Laravel fournit également un moyen d’injecter des dépendances dans les contrôleurs en utilisant des façades et des helpers globaux. Cela vous permet de récupérer des informations sur la requête courante, l’utilisateur actuel ou encore les données provenant de la session.

Conclusion

Dans ce tutoriel, nous avons vu comment créer et utiliser des contrôleurs pour gérer les routes dans une application Laravel. Nous avons également couvert les méthodes communes que vous pouvez utiliser dans vos contrôleurs pour gérer les entrées utilisateur et les opérations CRUD. N’hésitez pas à explorer davantage les fonctionnalités de Laravel pour améliorer la structure de votre code.

**Prochaines étapes **

  • Recherchez comment utiliser des façades et des helpers globaux pour récupérer des informations sur la requête courante, l’utilisateur actuel ou encore les données provenant de la session.
  • Explorez comment créer des vues et les lier à vos contrôleurs pour afficher les données provenant de votre base de données.
Advertisement

In-Article Ad

Dev Mode

Share this article

Mahmoud DEVO

Mahmoud DEVO

Senior Full-Stack Developer

I'm a passionate full-stack developer with 10+ years of experience building scalable web applications. I write about Vue.js, Node.js, PostgreSQL, and modern DevOps practices.

Enjoyed this article?

Subscribe to get more tech content delivered to your inbox.

Related Articles