Controllers v Laravel jsou třídy zodpovědné za zpracování aplikační logiky a usnadnění interakce mezi modely a pohledy. Controllers pomáhají oddělit aplikační logiku od uživatelského rozhraní a vytvářejí jasnou a udržovatelnou strukturu projektu.
Vytvořte ovladač
Chcete-li vytvořit ovladač v Laravel, můžete použít Laravel příkaz Artisan. Chcete-li například vytvořit řadič s názvem UserController, můžete v terminálu spustit následující příkaz:
php artisan make:controller UserController
Jakmile je řídicí jednotka vytvořena, můžete definovat metody manipulace v rámci řídicí jednotky. index() V této metodě můžete například načíst data z modelu a předat je do zobrazení pro zobrazení:
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
}
Ve výše uvedeném příkladu používáme User model k načtení uživatelských dat z databáze. Tyto údaje pak předáme pohledu, users.index aby se zobrazil seznam uživatelů.
Controllers také podporují metody jako store(), update(), a delete() pro zpracování dat, aktualizace a mazání. Pomocí těchto metod můžete pracovat s databází.
Ubytovat controller se route
Chcete-li použít controller in route, můžete zadat controller název a odpovídající metodu v routes/web.php souboru.
use App\Http\Controllers\UserController;
Route::get('/users', [UserController::class, 'index']);
V tomto příkladu, když uživatel přistupuje k /users URL, Laravel zavolá index() metodu v pro UserController zpracování požadavku.
Vytvořte zobrazení pro obrazovku seznamu uživatelů
Chcete-li vytvořit users.index soubor, můžete použít následující příkaz:
php artisan make:view users.index
Tento příkaz vytvoří index.blade.php soubor v resources/views/users adresáři.
Jakmile je soubor vytvořen, můžete index.blade.php soubor otevřít a navrhnout rozhraní pro users.index stránku. Syntaxi Blade můžete použít k vytvoření struktury HTML a zobrazení dat z řadiče.
<!-- 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
Ve výše uvedeném příkladu používáme app.blade.php rozložení přes @extends('layouts.app'). Obsah stránky je definován uvnitř @section('content') a zobrazuje seznam uživatelů z $users proměnné v rámci @foreach smyčky.
Chcete-li stránku použít users.index, musíte v routes/web.php souboru definovat odpovídající trasu, aby ukazovala na metodu v ovladači a vracela users.index pohled.
Stručně řečeno, nápověda controllers odděluje Laravel aplikační logiku a zpracovává data. Pomocí controllers můžete vytvářet výkonné a udržovatelné aplikace v Laravel.

