Controllers in Laravel- Immaniġġjar tal-Loġika tal-Applikazzjoni u l-Interazzjonijiet tad-Data

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.