Controllers in Laravel huma klassijiet responsabbli għall-immaniġġjar tal-loġika tal-applikazzjoni u jiffaċilitaw l-interazzjoni bejn mudelli u fehmiet. Controllers tgħin biex tissepara l-loġika tal-applikazzjoni mill-interface tal-utent, u toħloq struttura ta 'proġett ċara u li tista' tinżamm.
Oħloq kontrollur
Biex toħloq kontrollur fi Laravel, tista' tuża Laravel l-kmand Artisan ta'. Pereżempju, biex toħloq kontrollur bl-isem UserController
, tista' tmexxi l-kmand li ġej fit-terminal:
php artisan make:controller UserController
Ladarba jinħoloq il-kontrollur, tista 'tiddefinixxi metodi ta' mmaniġġjar fi ħdan il-kontrollur. Per eżempju, fil- index()
metodu, tista 'tirkupra data minn mudell u tgħaddiha għal viżjoni għall-wiri:
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
}
Fl-eżempju ta 'hawn fuq, nużaw il- User
mudell biex inġibu dejta tal-utent mid-database. Imbagħad ngħaddu din id-dejta lill- users.index
veduta biex turi lista ta 'utenti.
Controllers jappoġġjaw ukoll metodi bħal store()
, update()
, u delete()
biex jimmaniġġaw il-ħolqien, l-aġġornament u t-tħassir tad-dejta. Tista' tinteraġixxi mad-database permezz ta' dawn il-metodi.
HUsing controller
in route
Biex tuża controller
fi route
, tista' tispeċifika l controller
-isem u l-metodu korrispondenti fil- routes/web.php
fajl.
use App\Http\Controllers\UserController;
Route::get('/users', [UserController::class, 'index']);
F'dan l-eżempju, meta utent jaċċessa l- /users
URL, Laravel se jsejjaħ il- index()
metodu fil- biex UserController
jimmaniġġa t-talba.
Oħloq viżjoni għall-iskrin tal-lista tal-utenti
Biex toħloq il users.index
-fajl, tista 'tuża l-kmand li ġej:
php artisan make:view users.index
Dan il-kmand se joħloq index.blade.php
fajl fid- resources/views/users
direttorju.
Ladarba l-fajl jinħoloq, tista 'tiftaħ il- index.blade.php
fajl u tiddisinja l-interface għall- users.index
paġna. Tista 'tuża s-sintassi Blade biex toħloq l-istruttura HTML u turi d-dejta mill-kontrollur.
<!-- 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
Fl-eżempju ta 'hawn fuq, nużaw it- app.blade.php
tqassim permezz ta' @extends('layouts.app')
. Il-kontenut tal-paġna huwa definit fi ħdan @section('content')
u juri lista ta 'utenti mill- $users
varjabbli f'linja @foreach
.
Biex tuża l- users.index
paġna, trid tiddefinixxi r-rotta korrispondenti fil- routes/web.php
fajl biex tipponta lejn il-metodu fil-kontrollur u tirritorna l- users.index
veduta.
Fil-qosor, controllers tgħin Laravel biex tissepara l-loġika tal-applikazzjoni u timmaniġġja l-ipproċessar tad-dejta. Billi tuża controllers, tista' tibni applikazzjonijiet b'saħħithom u li jistgħu jinżammu f' Laravel.