Controllers in Laravel sind Klassen, die für die Handhabung der Anwendungslogik und die Erleichterung der Interaktion zwischen Modellen und Ansichten verantwortlich sind. Controllers Helfen Sie dabei, die Anwendungslogik von der Benutzeroberfläche zu trennen und so eine klare und wartbare Projektstruktur zu schaffen.
Controller erstellen
Um einen Controller in zu erstellen Laravel, können Sie Laravel den Artisan-Befehl von verwenden. Um beispielsweise einen Controller mit dem Namen zu erstellen UserController
, können Sie den folgenden Befehl im Terminal ausführen:
php artisan make:controller UserController
Sobald der Controller erstellt ist, können Sie Handhabungsmethoden innerhalb des Controllers definieren. Mit der Methode können Sie beispielsweise index()
Daten aus einem Modell abrufen und zur Anzeige an eine Ansicht übergeben:
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
}
Im obigen Beispiel verwenden wir das User
Modell, um Benutzerdaten aus der Datenbank abzurufen. Anschließend übergeben wir diese Daten an die users.index
Ansicht, um eine Liste der Benutzer anzuzeigen.
Controllers Unterstützt auch Methoden wie store()
, update()
und delete()
für die Datenerstellung, -aktualisierung und -löschung. Über diese Methoden können Sie mit der Datenbank interagieren.
HUning controller
in route
Um ein controller
in zu verwenden, können Sie den Namen und die entsprechende Methode in der Datei route
angeben. controller
routes/web.php
use App\Http\Controllers\UserController;
Route::get('/users', [UserController::class, 'index']);
Wenn in diesem Beispiel ein Benutzer auf die /users
URL zugreift, Laravel ruft er die index()
Methode auf, um UserController
die Anfrage zu bearbeiten.
Erstellen Sie eine Ansicht für den Benutzerlistenbildschirm
Um die users.index
Datei zu erstellen, können Sie den folgenden Befehl verwenden:
php artisan make:view users.index
Dieser Befehl erstellt eine index.blade.php
Datei im resources/views/users
Verzeichnis.
Sobald die Datei erstellt wurde, können Sie sie öffnen index.blade.php
und die Benutzeroberfläche für die Seite entwerfen users.index
. Sie können die Blade-Syntax verwenden, um die HTML-Struktur zu erstellen und Daten vom Controller anzuzeigen.
<!-- 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
Im obigen Beispiel verwenden wir das app.blade.php
Layout bis @extends('layouts.app')
. Der Inhalt der Seite wird innerhalb einer Schleife definiert @section('content')
und zeigt eine Liste der Benutzer aus der Variablen an. $users
@foreach
Um die users.index
Seite zu verwenden, müssen Sie die entsprechende Route in der routes/web.php
Datei definieren, um auf die Methode im Controller zu verweisen und die users.index
Ansicht zurückzugeben.
Zusammenfassend lässt sich sagen, dass es controllers dabei Laravel hilft, die Anwendungslogik zu trennen und die Datenverarbeitung zu verwalten. Durch die Verwendung controllers können Sie leistungsstarke und wartbare Anwendungen erstellen Laravel.