Heim PHP-Framework Laravel Detaillierte Einführung in die Schreibschritte und -praktiken von Laravel Action

Detaillierte Einführung in die Schreibschritte und -praktiken von Laravel Action

Apr 21, 2023 am 10:05 AM

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.

  1. 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
Nach dem Login kopieren

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.

  1. 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(&#39;Invalid login credentials&#39;);
        }

        return Auth::user();
    }
}
Nach dem Login kopieren

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.

  1. 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'));
    }
}
Nach dem Login kopieren

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.

  1. 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(&#39;/login&#39;, [AuthController::class, &#39;login&#39;])->name('login');
Nach dem Login kopieren

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"
}
Nach dem Login kopieren

Dadurch wird die login()-Methode ausgelöst, die wir im Controller definiert haben. Aufruf von LoginUserAction, Übergabe von E-Mail und Passwort als Parameter.

  1. 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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie baue ich eine erholsame API mit fortgeschrittenen Funktionen in Laravel? Wie baue ich eine erholsame API mit fortgeschrittenen Funktionen in Laravel? Mar 11, 2025 pm 04:13 PM

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

Wie implementieren Sie OAuth2 -Authentifizierung und -autorisierung in Laravel? Wie implementieren Sie OAuth2 -Authentifizierung und -autorisierung in Laravel? Mar 12, 2025 pm 05:56 PM

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

Wie verwende ich die Komponenten von Laravel, um wiederverwendbare UI -Elemente zu erstellen? Wie verwende ich die Komponenten von Laravel, um wiederverwendbare UI -Elemente zu erstellen? Mar 17, 2025 pm 02:47 PM

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.

Was sind die besten Praktiken für die Verwendung von Laravel in einer Cloud-nativen Umgebung? Was sind die besten Praktiken für die Verwendung von Laravel in einer Cloud-nativen Umgebung? Mar 14, 2025 pm 01:44 PM

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.

Wie erstelle und verwende ich benutzerdefinierte Blade -Direktiven in Laravel? Wie erstelle und verwende ich benutzerdefinierte Blade -Direktiven in Laravel? Mar 17, 2025 pm 02:50 PM

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

Wie kann ich in Laravel benutzerdefinierte Validierungsregeln erstellen und verwenden? Wie kann ich in Laravel benutzerdefinierte Validierungsregeln erstellen und verwenden? Mar 17, 2025 pm 02:38 PM

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.

Laravel vs. Symfony: Welches ist für Ihre Web -App geeignet? Laravel vs. Symfony: Welches ist für Ihre Web -App geeignet? Mar 10, 2025 pm 01:34 PM

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

Was sind die besten Möglichkeiten, um Dateien -Uploads und Cloud -Speicher in Laravel zu verarbeiten? Was sind die besten Möglichkeiten, um Dateien -Uploads und Cloud -Speicher in Laravel zu verarbeiten? Mar 12, 2025 pm 05:54 PM

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

See all articles