Controllers in Laravel- Manipulace s aplikační logikou a datovými interakcemi

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.