Controllers në Laravel janë klasat përgjegjëse për trajtimin e logjikës së aplikacionit dhe lehtësimin e ndërveprimit midis modeleve dhe pamjeve. Controllers ndihmojnë në ndarjen e logjikës së aplikacionit nga ndërfaqja e përdoruesit, duke krijuar një strukturë të qartë dhe të mirëmbajtur projekti.
Krijo kontrollues
Për të krijuar një kontrollues në Laravel, mund të përdorni Laravel komandën Artisan. Për shembull, për të krijuar një kontrollues me emrin UserController
, mund të ekzekutoni komandën e mëposhtme në terminal:
php artisan make:controller UserController
Pasi të krijohet kontrolluesi, mund të përcaktoni metodat e trajtimit brenda kontrolluesit. Për shembull, në index()
metodë, ju mund të merrni të dhëna nga një model dhe t'i kaloni ato në një pamje për shfaqje:
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ë shembullin e mësipërm, ne përdorim User
modelin për të tërhequr të dhënat e përdoruesit nga baza e të dhënave. Më pas ia kalojmë këto të dhëna pamjes users.index
për të shfaqur një listë të përdoruesve.
Controllers mbështet gjithashtu metoda të tilla si store()
, update()
, dhe delete()
për të trajtuar krijimin, përditësimin dhe fshirjen e të dhënave. Ju mund të ndërveproni me bazën e të dhënave përmes këtyre metodave.
Duke u strukur controller
brenda route
Për të përdorur një controller
in route
, mund të specifikoni controller
emrin dhe metodën përkatëse në routes/web.php
skedar.
use App\Http\Controllers\UserController;
Route::get('/users', [UserController::class, 'index']);
Në këtë shembull, kur një përdorues hyn në /users
URL, Laravel do të thërrasë index()
metodën në UserController
për të trajtuar kërkesën.
Krijoni një pamje për ekranin e listës së përdoruesve
Për të krijuar users.index
skedarin, mund të përdorni komandën e mëposhtme:
php artisan make:view users.index
Kjo komandë do të krijojë një index.blade.php
skedar në resources/views/users
drejtori.
Pasi të krijohet skedari, mund të hapni skedarin index.blade.php
dhe të dizajnoni ndërfaqen për users.index
faqen. Ju mund të përdorni sintaksën Blade për të krijuar strukturën HTML dhe për të shfaqur të dhënat nga kontrolluesi.
<!-- 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ë shembullin e mësipërm, ne përdorim app.blade.php
paraqitjen përmes @extends('layouts.app')
. Përmbajtja e faqes përcaktohet brenda @section('content')
dhe shfaq një listë të përdoruesve nga $users
ndryshorja brenda një @foreach
cikli.
Për të përdorur users.index
faqen, duhet të përcaktoni rrugën përkatëse në skedar routes/web.php
për të treguar metodën në kontrollues dhe për të kthyer users.index
pamjen.
Si përmbledhje, controllers në Laravel ndihmë të ndarjes së logjikës së aplikacionit dhe trajtimit të përpunimit të të dhënave. Duke përdorur controllers, ju mund të ndërtoni aplikacione të fuqishme dhe të mirëmbajtura në Laravel.