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.