Inhaltsverzeichnis
Was ist Middleware?
创建中间件
注册中间件
全局中间件
路由中间件
Globale Middleware
Routing-Middleware
Heim PHP-Framework Laravel So erstellen Sie einen mittleren Schlüssel in Laravel

So erstellen Sie einen mittleren Schlüssel in Laravel

Apr 11, 2023 pm 03:05 PM

Laravel ist ein beliebtes PHP-Framework, das viele Funktionen und Tools bietet, um Entwicklern die Erstellung hochwertiger Webanwendungen zu erleichtern. Eine bemerkenswerte Funktion ist die Middleware, die es Entwicklern ermöglicht, bestimmte Aktionen auszuführen, bevor die Anfrage ihr endgültiges Ziel in der Anwendung erreicht. In diesem Artikel erfahren Sie, wie Sie Laravel-Middleware erstellen.

Was ist Middleware?

Middleware ist eine Möglichkeit, Routing-Anfragen abzufangen. Wenn die Anwendung eine Anfrage empfängt, führt die Middleware eine Reihe von Vorgängen aus, um die Anfrage zu ändern und zu steuern. Middleware kann für verschiedene Vorgänge wie Authentifizierung, Zugriffskontrolle, Caching und mehr verwendet werden.

Laravel wird mit einiger Middleware geliefert, wie z. B. auth, csrf, throttle usw. Darüber hinaus können Entwickler ihre eigene Middleware erstellen, um spezifischere Aufgaben zu erfüllen. authcsrfthrottle等。此外,开发者还可以创建自己的中间件来完成更特定的任务。

创建中间件

在Laravel中创建中间件非常简单,只需要执行以下命令即可生成一个新的中间件:

php artisan make:middleware MyMiddleware
Nach dem Login kopieren

以上命令将会在app/Http/Middleware目录下创建一个名为MyMiddleware的新中间件类。该类将包含两个方法:handle()__construct()

handle()方法是中间件的核心,它定义了中间件被执行时需要执行的操作。handle()方法将接收两个参数:请求对象和一个回调闭包。通常情况下,中间件会修改请求并将其传递给下一个处理程序。

以下是一个简单的中间件示例,用于记录请求的响应时间:

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\Log;

class ResponseTimeMiddleware
{
    public function handle($request, Closure $next)
    {
        $start_time = microtime(true);
        $response = $next($request);
        $end_time = microtime(true);
        $response_time = round(($end_time - $start_time) * 1000, 2);
        Log::info("Response time: {$response_time}ms");
        return $response;
    }
}
Nach dem Login kopieren

在上面的示例中,我们记录了请求的开始时间,并在请求结束后计算响应时间。然后,我们将响应时间记录到应用程序日志中,并将响应返回。

注册中间件

要使用中间件,需要将其注册到应用程序中。Laravel提供了两种方法来注册中间件。

全局中间件

全局中间件将在每个请求处理程序之前运行。要注册全局中间件,请打开app/Http/Kernel.php文件,并将类添加到$middleware属性中。

例如,要注册我们之前创建的ResponseTimeMiddleware中间件,我们可以将以下代码添加到$middleware数组中:

protected $middleware = [
    \App\Http\Middleware\ResponseTimeMiddleware::class
];
Nach dem Login kopieren

路由中间件

路由中间件仅在指定路由上运行。要注册路由中间件,请在app/Http/Kernel.php文件中的$routeMiddleware属性中添加类别名。

例如,要注册之前创建的ResponseTimeMiddleware中间件,我们可以将以下代码添加到$routeMiddleware

Middleware erstellen

Das Erstellen von Middleware in Laravel ist sehr einfach. Sie müssen nur den folgenden Befehl ausführen, um eine neue Middleware zu generieren:

protected $routeMiddleware = [
    &#39;response_time&#39; => \App\Http\Middleware\ResponseTimeMiddleware::class,
];
Nach dem Login kopieren
#🎜🎜 #The Der obige Befehl erstellt eine neue Middleware-Klasse mit dem Namen MyMiddleware im Verzeichnis app/Http/Middleware. Diese Klasse enthält zwei Methoden: handle() und __construct().

Die Methode handle() ist der Kern der Middleware und definiert die Vorgänge, die ausgeführt werden müssen, wenn die Middleware ausgeführt wird. Die Methode handle() erhält zwei Parameter: das Anforderungsobjekt und einen Callback-Abschluss. Normalerweise ändert Middleware die Anfrage und übergibt sie an den nächsten Handler.

#🎜🎜#Das Folgende ist ein einfaches Middleware-Beispiel zum Aufzeichnen der Antwortzeit einer Anfrage: #🎜🎜#
Route::get('/', function () {
    return view('welcome');
})->middleware('response_time');
Nach dem Login kopieren
#🎜🎜#Im obigen Beispiel zeichnen wir die Startzeit der Anfrage und die Antwortzeit auf wird nach Abschluss der Anfrage berechnet. Anschließend protokollieren wir die Antwortzeit im Anwendungsprotokoll und geben die Antwort zurück. #🎜🎜##🎜🎜#Middleware registrieren#🎜🎜##🎜🎜#Um Middleware zu verwenden, müssen Sie sie bei Ihrer Anwendung registrieren. Laravel bietet zwei Methoden zum Registrieren von Middleware. #🎜🎜#

Globale Middleware

#🎜🎜#Globale Middleware wird vor jedem Anforderungshandler ausgeführt. Um globale Middleware zu registrieren, öffnen Sie die Datei app/Http/Kernel.php und fügen Sie die Klasse zum Attribut $middleware hinzu. #🎜🎜##🎜🎜#Um beispielsweise die Middleware ResponseTimeMiddleware zu registrieren, die wir zuvor erstellt haben, können wir den folgenden Code zum Array $middleware hinzufügen: #🎜🎜# rrreee

Routing-Middleware

#🎜🎜#Routing-Middleware läuft nur auf der angegebenen Route. Um Routen-Middleware zu registrieren, fügen Sie den Kategorienamen im Attribut $routeMiddleware in der Datei app/Http/Kernel.php hinzu. #🎜🎜##🎜🎜#Um beispielsweise die zuvor erstellte Middleware ResponseTimeMiddleware zu registrieren, können wir den folgenden Code zum Array $routeMiddleware hinzufügen: #🎜🎜#rrreee #🎜🎜#In der Routing-Datei können wir den Kategorienamen verwenden, um die zu verwendende Middleware anzugeben: #🎜🎜#rrreee#🎜🎜#Fazit #🎜🎜##🎜🎜#Middleware ist eine leistungsstarke Funktion des Laravel-Frameworks Es ermöglicht Entwicklern, Anfragen zu ändern und zu kontrollieren, bevor die Anwendung sie ausführt. In diesem Artikel haben wir die Erstellung und Registrierung von Laravel-Middleware und deren Verwendung in Ihrer Anwendung untersucht. Wenn Sie noch nie Middleware verwendet haben, empfehle ich Ihnen, sich etwas Zeit zu nehmen, um sie zu erlernen und mit der Verwendung zu beginnen. #🎜🎜#

Das obige ist der detaillierte Inhalt vonSo erstellen Sie einen mittleren Schlüssel in Laravel. 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

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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)

Was ist besser, Django oder Laravel? Was ist besser, Django oder Laravel? Mar 28, 2025 am 10:41 AM

Sowohl Django als auch Laravel sind Full-Stack-Frameworks. Django eignet sich für Python -Entwickler und komplexe Geschäftslogik, während Laravel für PHP -Entwickler und elegante Syntax geeignet ist. 1.Django basiert auf Python und folgt der "batteriebetriebenen" Philosophie, die für schnelle Entwicklung und hohe Parallelität geeignet ist. 2. Laravel basiert auf PHP, der die Entwicklererfahrung betont und für kleine bis mittlere Projekte geeignet ist.

Laravel und das Backend: Logik der Webanwendungen mit Strom versorgen Laravel und das Backend: Logik der Webanwendungen mit Strom versorgen Apr 11, 2025 am 11:29 AM

Wie spielt Laravel eine Rolle in der Backend -Logik? Es vereinfacht und verbessert die Backend -Entwicklung durch Routing -Systeme, eloquentorm, Authentifizierung und Autorisierung, Ereignis und Zuhörer sowie Leistungsoptimierung. 1. Das Routing -System ermöglicht die Definition der URL -Struktur und die Anforderungsverarbeitungslogik. 2.Loquentorm vereinfacht die Datenbankinteraktion. 3. Das Authentifizierungs- und Autorisierungssystem ist für die Benutzerverwaltung geeignet. 4. Die Ereignis und der Hörer implementieren locker gekoppelte Codestruktur. 5. Leistungsoptimierung verbessert die Anwendungseffizienz durch Zwischenspeicherung und Warteschlange.

Welches ist besser PHP oder Laravel? Welches ist besser PHP oder Laravel? Mar 27, 2025 pm 05:31 PM

PHP und Laravel sind nicht direkt vergleichbar, da Laravel ein PHP-basierter Framework ist. 1.PHP ist für kleine Projekte oder schnelle Prototypen geeignet, da es einfach und direkt ist. 2. Laravel ist für große Projekte oder effiziente Entwicklung geeignet, da es umfangreiche Funktionen und Werkzeuge bietet, aber eine steile Lernkurve aufweist und möglicherweise nicht so gut ist wie reines PHP.

Ist Laravel ein Frontend oder ein Backend? Ist Laravel ein Frontend oder ein Backend? Mar 27, 2025 pm 05:31 PM

LaravelisabackendFrameworkBuiltonPhp, entworfene WebApplicationDevelopment.itfocuseSonserver-Sidelogic, DatabaSemanagement und Applicationsstruktur und CanBeintegratedWithFrontendTechnologies-ähnlich.

Laravels Vielseitigkeit: Von einfachen Standorten zu komplexen Systemen Laravels Vielseitigkeit: Von einfachen Standorten zu komplexen Systemen Apr 13, 2025 am 12:13 AM

Das Laravel -Entwicklungsprojekt wurde aufgrund seiner Flexibilität und Kraft ausgewählt, um den Bedürfnissen unterschiedlicher Größen und Komplexität zu entsprechen. Laravel bietet Routing-System, eloquentorm, Artisan Command Line und andere Funktionen und unterstützt die Entwicklung von einfachen Blogs bis hin zu komplexen Systemen auf Unternehmensebene.

Warum ist Laravel so beliebt? Warum ist Laravel so beliebt? Apr 02, 2025 pm 02:16 PM

Die Popularität von Laravel umfasst seinen vereinfachten Entwicklungsprozess, eine angenehme Entwicklungsumgebung und umfangreiche Merkmale. 1) Es absorbiert die Designphilosophie von RubyonRails und kombiniert die Flexibilität von PHP. 2) Bereitstellung von Werkzeugen wie eloquentorm, Blade Template Engine usw. zur Verbesserung der Entwicklungseffizienz. 3) Sein MVC -Architektur- und Abhängigkeitsinjektionsmechanismus macht den Code modularer und prüfbarer. 4) Bietet leistungsstarke Debugging -Tools und Leistungsoptimierungsmethoden wie Caching -Systeme und Best Practices.

Laravels Hauptfunktion: Backend -Entwicklung Laravels Hauptfunktion: Backend -Entwicklung Apr 15, 2025 am 12:14 AM

Zu den Kernfunktionen von Laravel in der Back-End-Entwicklung gehören Routing-System, eloquentorm, Migrationsfunktion, Cache-System und Warteschlangensystem. 1. Das Routing -System vereinfacht die URL -Zuordnung und verbessert die Codeorganisation und die Wartung. 2.Loquentorm bietet objektorientierte Datenoperationen zur Verbesserung der Entwicklungseffizienz. 3. Die Migrationsfunktion verwaltet die Datenbankstruktur durch Versionskontrolle, um eine Konsistenz zu gewährleisten. 4. Das Cache -System reduziert Datenbankabfragen und verbessert die Reaktionsgeschwindigkeit. 5. Das Warteschlangensystem verarbeitet effektiv große Daten, vermeiden Sie die Blockierung von Benutzeranfragen und verbessern die Gesamtleistung.

Laravel (PHP) gegen Python: Entwicklungsumgebungen und Ökosysteme Laravel (PHP) gegen Python: Entwicklungsumgebungen und Ökosysteme Apr 12, 2025 am 12:10 AM

Der Vergleich zwischen Laravel und Python in der Entwicklungsumgebung und dem Ökosystem ist wie folgt: 1. Die Entwicklungsumgebung von Laravel ist einfach, nur PHP und Komponist sind erforderlich. Es bietet eine umfassende Auswahl an Erweiterungspaketen wie Laravelforge, aber die Wartung des Erweiterungspakets ist möglicherweise nicht rechtzeitig. 2. Die Entwicklungsumgebung von Python ist ebenfalls einfach, nur Python und PIP sind erforderlich. Das Ökosystem ist riesig und deckt mehrere Felder ab, aber das Versions- und Abhängigkeitsmanagement kann komplex sein.

See all articles