Controllers yra Laravel klasės, atsakingos už programų logikos valdymą ir modelių bei rodinių sąveikos palengvinimą. Controllers padėti atskirti programos logiką nuo vartotojo sąsajos, sukurti aiškią ir prižiūrimą projekto struktūrą.
Sukurti valdiklį
Norėdami sukurti valdiklį Laravel, galite naudoti Laravel komandą „Artisan“. Pavyzdžiui, norėdami sukurti valdiklį pavadinimu UserController
, terminale galite paleisti šią komandą:
php artisan make:controller UserController
Sukūrę valdiklį, galite apibrėžti valdymo metodus valdiklyje. Pavyzdžiui, taikant index()
metodą galite gauti duomenis iš modelio ir perduoti juos į rodinį, kad būtų rodomas:
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
}
Aukščiau pateiktame pavyzdyje mes naudojame User
modelį, kad gautume vartotojo duomenis iš duomenų bazės. Tada perduodame šiuos duomenis į rodinį, users.index
kad būtų rodomas vartotojų sąrašas.
Controllers taip pat palaiko tokius metodus kaip store()
, update()
, ir delete()
duomenų kūrimo, atnaujinimo ir trynimo tvarkymui. Naudodami šiuos metodus galite bendrauti su duomenų baze.
HU controller
įjungimas route
Norėdami naudoti controller
in route
, faile galite nurodyti controller
pavadinimą ir atitinkamą metodą routes/web.php
.
use App\Http\Controllers\UserController;
Route::get('/users', [UserController::class, 'index']);
Šiame pavyzdyje, kai vartotojas pasiekia /users
URL, Laravel užklausai apdoroti bus index()
iškviestas metodas. UserController
Sukurkite naudotojų sąrašo ekrano rodinį
Norėdami sukurti users.index
failą, galite naudoti šią komandą:
php artisan make:view users.index
Ši komanda sukurs index.blade.php
failą kataloge resources/views/users
.
Sukūrę failą galite atidaryti index.blade.php
failą ir sukurti puslapio sąsają users.index
. Norėdami sukurti HTML struktūrą ir rodyti duomenis iš valdiklio, galite naudoti Blade sintaksę.
<!-- 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
Aukščiau pateiktame pavyzdyje mes naudojame išdėstymą app.blade.php
per @extends('layouts.app')
. Puslapio turinys yra apibrėžtas viduje @section('content')
ir rodomas vartotojų sąrašas iš $users
kintamojo cikle @foreach
.
Norėdami naudoti users.index
puslapį, faile turite apibrėžti atitinkamą maršrutą, routes/web.php
kuris nukreiptų į metodą valdiklyje ir grąžintų users.index
rodinį.
Apibendrinant galima pasakyti, controllers kad Laravel padeda atskirti programos logiką ir tvarkyti duomenų apdorojimą. Naudodamiesi controllers, galite kurti galingas ir prižiūrimas programas Laravel.