Controllers Laravel- Programų logikos ir duomenų sąveikų tvarkymas

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.