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.

