Controllers in Laravel- omgaan met applicatielogica en gegevensinteracties

Controllers in Laravel zijn klassen die verantwoordelijk zijn voor het hanteren van de toepassingslogica en het faciliteren van de interactie tussen modellen en weergaven. Controllers helpen de applicatielogica te scheiden van de gebruikersinterface, waardoor een duidelijke en onderhoudbare projectstructuur ontstaat.

 

Regelaar maken

Om een ​​controller aan te maken in Laravel, kunt u Laravel de opdracht Artisan gebruiken. Om bijvoorbeeld een controller met de naam te maken UserController, kunt u de volgende opdracht in de terminal uitvoeren:

php artisan make:controller UserController

Nadat de controller is gemaakt, kunt u verwerkingsmethoden binnen de controller definiëren. In de methode kunt u bijvoorbeeld index() gegevens uit een model ophalen en doorgeven aan een weergave voor weergave:

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  
}  

In bovenstaand voorbeeld gebruiken we het User model om gebruikersgegevens uit de database op te halen. We geven deze gegevens vervolgens door aan de users.index weergave om een ​​lijst met gebruikers weer te geven.

Controllers ondersteunen ook methoden zoals store(), update(), en delete() voor het maken, bijwerken en verwijderen van gegevens. U kunt via deze methoden communiceren met de database.

 

Hussing controller in route

Om een controller ​​in te gebruiken route, kunt u de controller naam en de corresponderende methode in het routes/web.php bestand specificeren.

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

In dit voorbeeld, wanneer een gebruiker de URL opent /users, Laravel roept hij de index() methode in de UserController om het verzoek af te handelen.

 

Maak een weergave voor het gebruikerslijstscherm

Om het users.index bestand te maken, kunt u de volgende opdracht gebruiken:

php artisan make:view users.index

index.blade.php Met deze opdracht wordt een bestand in de map gemaakt resources/views/users.

Nadat het bestand is gemaakt, kunt u het index.blade.php bestand openen en de interface voor de users.index pagina ontwerpen. U kunt Blade-syntaxis gebruiken om de HTML-structuur te maken en gegevens van de controller weer te geven.

<!-- 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  

In bovenstaand voorbeeld gebruiken we de app.blade.php lay-out tot en met @extends('layouts.app'). De inhoud van de pagina wordt binnen een lus gedefinieerd @section('content') en toont een lijst met gebruikers van de $users variabele @foreach.

Om de users.index pagina te gebruiken, moet u de corresponderende route in het bestand definiëren routes/web.php om naar de methode in de controller te verwijzen en de users.index weergave te retourneren.

 

Samengevat, controllers om Laravel de applicatielogica te scheiden en de gegevensverwerking af te handelen. Door gebruik te maken van controllers, kunt u krachtige en onderhoudbare applicaties bouwen in Laravel.