Controllers Laravel Az alkalmazási logika kezeléséért és a modellek és nézetek közötti interakció megkönnyítéséért osztályok felelősek. Controllers segít elválasztani az alkalmazás logikáját a felhasználói felülettől, világos és karbantartható projektstruktúrát hozva létre.
Vezérlő létrehozása
Vezérlő létrehozásához Laravel használhatja Laravel az Artisan parancsot. Például egy vezérlő létrehozásához UserController
futtassa a következő parancsot a terminálban:
php artisan make:controller UserController
A vezérlő létrehozása után kezelési módszereket határozhat meg a vezérlőn belül. Például a módszerben index()
lekérhet adatokat egy modellből, és átadhatja azokat egy nézetnek megjelenítésre:
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
}
A fenti példában a User
modell segítségével lekérjük a felhasználói adatokat az adatbázisból. Ezután átadjuk ezeket az adatokat a users.index
nézetnek, hogy megjelenítsük a felhasználók listáját.
Controllers olyan módszereket is támogat, mint például store()
a, update()
és delete()
az adatok létrehozásának, frissítésének és törlésének kezelésére. Ezekkel a módszerekkel kommunikálhat az adatbázissal.
HUsing controller
be route
controller
Az in használatához route
megadhatja a controller
nevet és a megfelelő metódust a fájlban routes/web.php
.
use App\Http\Controllers\UserController;
Route::get('/users', [UserController::class, 'index']);
Ebben a példában, amikor egy felhasználó hozzáfér az /users
URL-hez, Laravel meghívja a index()
metódusban UserController
a kérés kezelésére.
Hozzon létre egy nézetet a felhasználói lista képernyőhöz
A fájl létrehozásához users.index
a következő parancsot használhatja:
php artisan make:view users.index
Ez a parancs létrehoz egy index.blade.php
fájlt a resources/views/users
könyvtárban.
A fájl létrehozása után megnyithatja a index.blade.php
fájlt, és megtervezheti az users.index
oldal felületét. A Blade szintaxis segítségével létrehozhatja a HTML-struktúrát és megjelenítheti az adatokat a vezérlőből.
<!-- 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
A fenti példában az app.blade.php
elrendezést használjuk @extends('layouts.app')
. Az oldal tartalma belül van meghatározva, és egy cikluson belül @section('content')
megjeleníti a változóból származó felhasználók listáját. $users
@foreach
Az oldal használatához users.index
meg kell határoznia a megfelelő útvonalat a fájlban, routes/web.php
amely a vezérlőben lévő metódusra mutat, és visszaadja a users.index
nézetet.
Összefoglalva, a súgóban controllers az Laravel alkalmazáslogika és az adatfeldolgozás kezelésének szétválasztása. A használatával controllers hatékony és karbantartható alkalmazásokat építhet a Laravel.