In Laravel 5 haben wir die Middlewares, eine neue Komponente, die Filtern ähnelt, obwohl klar sein muss, was sie nicht ersetzt oder dasselbe ist.
Die Filter existieren weiterhin zusammen mit den Middlewares in Laravel 5 , und obwohl ich glaube, dass diese in Zukunft beseitigt werden können, haben sie dies im Moment noch nicht getan, sodass Sie wählen können, ob Sie die Filter weiterhin so verwenden möchten, wie Sie es getan haben oder benutze die Middleware, die ich für intuitiver halte.
Laravel enthält eine Middleware, die überprüft, ob der Benutzer der Anwendung authentifiziert ist. Dies ist standardmäßig der Fall. Sie können diese Middleware mithilfe der Migrationen aktivieren, die Laravel aufgrund von Fehlern mit sich bringt und die versuchen, auf / home zuzugreifen.
Der Vorteil dieses Mechanismus ist eine bessere Kontrolle der Anforderungen, die auf unserer Site eingehen. Das heißt, wir würden der Logik unserer Anwendung auf ordnungsgemäße und korrekte Weise für die verschiedenen Geschäftsmodelle zusätzliche Ebenen hinzufügen, ohne dass neue hinzugefügt werden müssen. externe Komponenten
Laravel hat eine Middleware namens Authenticate und wird in App Http Middleware gehostet. Hier ist das Beispiel für eine Authentifizierungs-Middleware.
Der gebräuchlichste Bereich einer Middleware ist der der Authentifizierungsstufen. Sehr nützlich an Orten, an denen es erforderlich ist, dass die Sitzungen über bestimmte Berechtigungen verfügen, um den Inhalt bestimmter Seiten anzeigen zu können.
Wie erstelle ich eine Middleware?
Als erstes müssen wir ein Laravel 5.1-Projekt erstellen. Sie können Composer verwenden, um es zu erreichen.
composer installiere create-project laravel / laravel myproject
Dann geben wir das Terminal / die Konsole ein:
PHP-Handwerker machen: Middlware TypeMiddleware
Wenn wir in App / Http / Middleware nachsehen, sehen wir, dass eine Datei erstellt wurde, die der folgenden TypMiddleware.php entspricht:
Jetzt müssen wir diese Middleware funktionalisieren, dafür erstellen wir eine neue Route in routes.php:
Route :: get ('panel', ['middleware' => 'type', function () { return '<h1> Testen der Middleware für TechnoWikis.com </ h1>'; }]);
Wenn wir versuchen, den im vorherigen Schritt / Bereich erstellten Pfad einzugeben, wird ein Fehler angezeigt, der darauf hinweist, dass die Klasse “type” nicht vorhanden ist. Keine Sorge, dies geschieht, weil diese Middleware nicht zu unserer Registrierung hinzugefügt wurde.
Wir müssen zur Datei Kernel.php in App / Http gehen und sie auf der Route in die spezifische Middleware einfügen. Wenn sie global platziert werden, wird sie für jede Anforderung an die Anwendung ausgeführt, unabhängig von der Route, auf die zugegriffen wird. Dies ist normalerweise ein Fehler. Dann deklarieren wir es im Array $ routeMiddleware.
Wenn wir es jetzt versuchen, FUNKTIONIERT es , bereits an diesem Punkt sollten wir in der Lage sein, ohne Probleme und ohne Fehler auf die Route / Tafel zuzugreifen, aber komm schon, dies hat noch keine Funktionalität, um # zu programmieren.
Wir testen die Überprüfung, ob der Variablentyp “Administrator” ist. Die Seite wird angezeigt. Ansonsten gehe zum Anfang der Seite.
Ein Plus in Laravel 5.1 ist die Möglichkeit, Parameter von den Routen zu übergeben:
Und wenn wir damit fertig sind, wissen Sie, wie Sie Ihre eigene Middleware erstellen, kommentieren und teilen, und gemeinsam werden wir viele weitere Dinge lernen. Grüße