Controllers in Laravel- Gestion de la logique d'application et des interactions de données

Controllers in Laravel sont des classes chargées de gérer la logique de l'application et de faciliter l'interaction entre les modèles et les vues. Controllers aider à séparer la logique de l'application de l'interface utilisateur, créant une structure de projet claire et maintenable.

 

Créer un contrôleur

Pour créer un contrôleur dans Laravel, vous pouvez utiliser Laravel la commande Artisan de. Par exemple, pour créer un contrôleur nommé UserController, vous pouvez exécuter la commande suivante dans le terminal :

php artisan make:controller UserController

Une fois le contrôleur créé, vous pouvez définir des méthodes de gestion au sein du contrôleur. Par exemple, dans la index() méthode, vous pouvez récupérer des données d'un modèle et les transmettre à une vue pour les afficher :

namespace App\Http\Controllers;  
  
use App\Models\User;  
use Illuminate\Http\Request;  
  
class UserController extends Controller  
{  
    public function index()  
    {  
        $users = User::all();  
  
        return view('users.index', ['users' => $users]);  
    }  
  
    // Other handling methods  
}  

Dans l'exemple ci-dessus, nous utilisons le User modèle pour récupérer les données utilisateur de la base de données. Nous transmettons ensuite ces données à la users.index vue pour afficher une liste d'utilisateurs.

Controllers prennent également en charge des méthodes telles que store(), update() et delete() pour gérer la création, la mise à jour et la suppression de données. Vous pouvez interagir avec la base de données via ces méthodes.

 

HUtilisation controller dans route

Pour utiliser un controller in route, vous pouvez spécifier le controller nom et la méthode correspondante dans le routes/web.php fichier.

use App\Http\Controllers\UserController;  
  
Route::get('/users', [UserController::class, 'index']);  

Dans cet exemple, lorsqu'un utilisateur accède à l' /users URL, Laravel appellera la index() méthode dans le UserController pour gérer la requête.

 

Créer une vue pour l'écran de la liste des utilisateurs

Pour créer le users.index fichier, vous pouvez utiliser la commande suivante :

php artisan make:view users.index

Cette commande créera un index.blade.php fichier dans le resources/views/users répertoire.

Une fois le fichier créé, vous pouvez l'ouvrir index.blade.php et concevoir l'interface de la users.index page. Vous pouvez utiliser la syntaxe Blade pour créer la structure HTML et afficher les données du contrôleur.

<!-- resources/views/users/index.blade.php -->  
@extends('layouts.app')  
  
@section('content')  
    <h1>Users</h1>  
    <ul>  
        @foreach($users as $user)  
            <li>{{ $user->name }}</li>  
        @endforeach  
    </ul>  
@endsection  

Dans l'exemple ci-dessus, nous utilisons la app.blade.php mise en page via @extends('layouts.app'). Le contenu de la page est défini à l'intérieur @section('content') et affiche une liste d'utilisateurs à partir de la $users variable dans une @foreach boucle.

Pour utiliser la users.index page, vous devez définir la route correspondante dans le routes/web.php fichier pour pointer vers la méthode dans le contrôleur et renvoyer la users.index vue.

 

En résumé, controllers aider à Laravel séparer la logique de l'application et gérer le traitement des données. En utilisant controllers, vous pouvez créer des applications puissantes et maintenables dans Laravel.