


Detaillierte Einführung in die Schreibschritte und -praktiken von Laravel Action
Laravel ist ein sehr beliebtes PHP-Entwicklungsframework, das für seine einfache, aber leistungsstarke API und sein umfassendes Toolkit bekannt ist. In Laravel sind „Aktionen“ ein Konzept, mit dem Sie Controller erstellen und Ihre Logikebene einfacher vereinfachen können. Im Folgenden finden Sie eine detaillierte Einführung in die Schritte und Praktiken zum Schreiben von Laravel Action.
- Aktionsklasse erstellen
Zuerst müssen Sie eine Aktionsklasse erstellen. In Laravel 8 und höher können Sie es mit dem Artisan-Befehl erstellen:
php artisan make:action MyAction
Dadurch wird eine neue Klassendatei „MyAction.php“ für Sie im Verzeichnis app/Action erstellt. Jetzt können wir mit dem Schreiben der Logik der Aktion beginnen.
- Schreiben Sie die Logik der Aktion
In Ihrer Aktion können Sie für jede Methode im Controller eine spezifische Geschäftslogik definieren. Hier erstellen wir eine Methode zur Handhabung der Logik der Benutzeranmeldung.
<?php namespace App\Actions; use Illuminate\Support\Facades\Auth; class LoginUserAction { public function execute(array $credentials) { $attempt = Auth::attempt($credentials); if (!$attempt) { throw new \Exception('Invalid login credentials'); } return Auth::user(); } }
Im obigen Beispiel haben wir eine Aktion namens LoginUserAction erstellt. Es empfängt ein Array mit den Anmeldeinformationen des Benutzers, führt einen Anmeldeversuch durch und löst eine Ausnahme aus, wenn ein Fehler auftritt. Andernfalls wird der erfolgreich authentifizierte Benutzer zurückgegeben.
Es ist erwähnenswert, dass wir die Auth-Fassade von Laravel verwenden, um Anmeldevorgänge durchzuführen. Dadurch können wir das Authentifizierungssystem von Laravel problemlos nutzen.
- Action in Controllern verwenden
Jetzt haben wir eine Action-Klasse erstellt und ihre Logik definiert. Der nächste Schritt besteht darin, es im Controller zu verwenden.
Der erste Schritt bei der Verwendung von Action besteht darin, den Controller zu öffnen und eine Use-Anweisung hinzuzufügen, um die Action-Klasse einzuführen:
<?php namespace App\Http\Controllers; use App\Actions\LoginUserAction; use Illuminate\Http\Request; class AuthController extends Controller { public function login(Request $request, LoginUserAction $loginAction) { $credentials = $request->only(['email', 'password']); try { $user = $loginAction->execute($credentials); } catch (\Exception $e) { return response()->json([ 'message' => $e->getMessage() ], 401); } return response()->json(compact('user')); } }
Im obigen Code haben wir auf LoginUserAction aus unserem eigenen Namespace verwiesen. Dann haben wir die Methode login() hinzugefügt, deren erster Parameter das Request-Objekt von Laravel und deren zweiter Parameter die oben erstellte LoginUserAction-Instanz ist.
In login() extrahieren wir zunächst die E-Mail-Adresse und das Passwort basierend auf dem Anforderungsinhalt und rufen dann unsere Aktion auf, um die Logik über die $credentials-Parameter auszuführen. Bei Erfolg geben wir den Benutzer im JSON-Format zurück, andernfalls geben wir eine Fehlermeldung an den Client zurück.
- Aktion aufrufen
Jetzt können wir auf unsere login()-Methode zugreifen und die Ausführungsmethode in der LoginUserAction-Klasse aufrufen. Wir übergeben in der HTTP-Anfrage ein Array mit einigen Anmeldeinformationen und geben das Ergebnis zurück.
Definieren Sie die entsprechende Login-Route in der Route:
<?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\AuthController; Route::post('/login', [AuthController::class, 'login'])->name('login');
Jetzt können wir auf die /login-Route unserer Laravel-Anwendung zugreifen, die wie folgt aussieht:
POST /login HTTP/1.1 Host: localhost:8000 Content-Type: application/json { "email": "user@example.com", "password": "my_password" }
Dadurch wird die login()-Methode ausgelöst, die wir im Controller definiert haben. Aufruf von LoginUserAction, Übergabe von E-Mail und Passwort als Parameter.
- Zusammenfassung
Laravel Action bietet eine einfache, saubere Möglichkeit, Ihre Geschäftslogik zu organisieren. Durch die Verlagerung der Geschäftslogik aus dem Controller in Aktionsklassen können Sie zahlreiche Verbesserungen bei der Wiederverwendung von Code und bei der Wartbarkeit erzielen.
Bei der Verwendung von Laravel Action sollten Sie die folgenden zwei Best Practices befolgen:
- Jede Methode sollte versuchen, nur eine Sache zu tun.
- Vermeiden Sie den direkten Zugriff auf externe Klassen oder Objekte in der Action-Klasse und verwenden Sie die Methode der Variablenübergabe, um eine gemeinsame und wiederholte Verarbeitung von Daten zu erreichen.
Abschließend sei darauf hingewiesen, dass die Action-Funktion in Laravel 8 eingeführt wurde. Wenn Sie eine ältere Version von Laravel verwenden, müssen Sie möglicherweise die Action-Klasse manuell erstellen und die Klassendatei an einem geeigneten Ort speichern Instanziieren Sie den Controller manuell und rufen Sie ihn auf.
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die Schreibschritte und -praktiken von Laravel Action. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Dieser Artikel führt dazu, dass robuste Laravel -Rastful -APIs aufgebaut werden. Es deckt Projekt -Setup, Ressourcenverwaltung, Datenbankinteraktionen, Serialisierung, Authentifizierung, Autorisierung, Testen und Best Practices für die wichtige Sicherheitssicherheit ab. Skalierbarkeit Chall

In diesem Artikel werden die Authentifizierung und Autorisierung von OAuth 2.0 in Laravel implementiert. Es umfasst die Verwendung von Paketen wie League/OATH2-Server oder providerspezifischer Lösungen, wobei die Datenbank-Setup, die Client-Registrierung und die Autorisierungsserverkonfigurus betont werden

In dem Artikel wird das Erstellen und Anpassen wiederverwendbarer UI -Elemente in Laravel mithilfe von Komponenten ermittelt, die Best Practices für die Organisation anbieten und Vorschläge für Verbesserungspakete vorschlagen.

In dem Artikel werden Best Practices für die Bereitstellung von Laravel in Cloud-nativen Umgebungen erörtert und sich auf Skalierbarkeit, Zuverlässigkeit und Sicherheit konzentriert. Zu den wichtigsten Problemen gehören Containerisierung, Microservices, staatenlose Design- und Optimierungsstrategien.

In dem Artikel wird das Erstellen und Verwenden benutzerdefinierter Blade -Richtlinien in Laravel erläutert, um die Vorlagen zu verbessern. Es umfasst die Definition von Direktiven, die Verwendung in Vorlagen und die Verwaltung in großen Projekten, um Vorteile wie eine verbesserte Wiederverwendbarkeit von Code und R hervorzuheben

In dem Artikel wird das Erstellen und Verwenden von benutzerdefinierten Validierungsregeln in Laravel erläutert und bietet Schritte zur Definition und Implementierung. Es zeigt Vorteile wie Wiederverwendbarkeit und Spezifität und bietet Methoden zur Erweiterung des Laravel -Validierungssystems.

Bei der Auswahl eines PHP -Frameworks gehören Laravel und Symfony zu den beliebtesten und am häufigsten verwendeten Optionen. Jedes Rahmen bringt seine eigene Philosophie, Merkmale und Stärken auf den Tisch, wodurch sie für verschiedene Projekte und Anwendungsfälle geeignet sind

In diesem Artikel wird in Laravel optimale Dateien -Upload- und Cloud -Speicherstrategien in Laravel untersucht. Es untersucht lokale Speicher- und Cloud -Anbieter (AWS S3, Google Cloud, Azure, Digitalocean), die Sicherheit (Validierung, Bereinigung, HTTPS) und Leistungsopti betonen
