Controllers în Laravel- Manipularea logicii aplicației și a interacțiunilor de date

Controllers în Laravel sunt clase responsabile cu gestionarea logicii aplicației și facilitarea interacțiunii dintre modele și vederi. Controllers ajută la separarea logicii aplicației de interfața cu utilizatorul, creând o structură de proiect clară și care poate fi întreținută.

 

Creați controler

Pentru a crea un controler în Laravel, puteți folosi Laravel comanda lui Artisan. De exemplu, pentru a crea un controler numit UserController, puteți rula următoarea comandă în terminal:

php artisan make:controller UserController

Odată ce controlerul este creat, puteți defini metode de manipulare în cadrul controlerului. De exemplu, în această index() metodă, puteți prelua date dintr-un model și le puteți transmite într-o vizualizare pentru afișare:

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  
}  

În exemplul de mai sus, folosim User modelul pentru a prelua datele utilizatorului din baza de date. Apoi trecem aceste date în users.index vizualizare pentru a afișa o listă de utilizatori.

Controllers acceptă, de asemenea, metode precum store(), update(), și delete() pentru a gestiona crearea, actualizarea și ștergerea datelor. Puteți interacționa cu baza de date prin aceste metode.

 

HUsing controller in route

Pentru a utiliza un controller în route, puteți specifica controller numele și metoda corespunzătoare în routes/web.php fișier.

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

În acest exemplu, atunci când un utilizator accesează adresa /users URL, Laravel va apela index() metoda din pentru UserController a gestiona cererea.

 

Creați o vizualizare pentru ecranul cu lista de utilizatori

Pentru a crea users.index fișierul, puteți folosi următoarea comandă:

php artisan make:view users.index

Această comandă va crea un index.blade.php fișier în resources/views/users director.

Odată creat fișierul, puteți deschide index.blade.php fișierul și puteți proiecta interfața pentru users.index pagină. Puteți utiliza sintaxa Blade pentru a crea structura HTML și pentru a afișa date de la controler.

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

În exemplul de mai sus, folosim app.blade.php aspectul prin @extends('layouts.app'). Conținutul paginii este definit @section('content') și afișează o listă de utilizatori din $users variabilă într-o @foreach buclă.

Pentru a utiliza users.index pagina, trebuie să definiți ruta corespunzătoare în fișier routes/web.php pentru a indica metoda din controler și a returna vizualizarea users.index.

 

Pe scurt, controllers ajută la Laravel separarea logicii aplicației și la procesarea datelor. Folosind controllers, puteți construi aplicații puternice și ușor de întreținut în Laravel.