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.