Laravel 5.1 Middleware

I Laravel 5 Vi har midterware, en ny komponent, der ligner filtrene, selvom det burde være klart, hvad de erstatter dem ikke, og de er heller ikke de samme.
Det filtre de lever videre med mellemprodukter i Laravel 5, og selvom jeg i fremtiden tror, ​​at disse kan elimineres, har de i øjeblikket ikke gjort det, så du kan vælge mellem at fortsætte med at bruge filtrene, som du gjorde, eller bruge mellemprogrammet, som jeg anser for mere intuitivt.
Laravel indeholder en middleware, der verificerer, om applikationsbrugeren er godkendt, dette kommer som standard, og du kan aktivere det ved hjælp af de migreringer, som Laravel bringer som standard og forsøger at få adgang til / hjem.
Fordelen ved denne mekanisme er en bedre kontrol af de anmodninger, som vores websted modtager, det vil sige, at vi ville tilføje yderligere lag til vores applikations logik på en ordnet og korrekt måde for de forskellige forretningsmodeller og uden behov for tilføj nye. eksterne komponenter.
Laravel har en middleware kaldet Authenticate, og den hostes på App \ Http \ Middleware, her eksemplet på godkendelses -middleware.

Det mest almindelige omfang af en middleware er tiered auth (godkendelse). Meget nyttig på websteder, hvor det er nødvendigt, at sessionerne har visse privilegier for at kunne se indholdet på bestemte sider.

Hvordan opretter man en middleware?


Den første ting at gøre er at oprette et Laravel 5.1 -projekt. Du kan bruge komponist til at opnå det.
 komponist installer create-project laravel / laravel mit projekt
Senere indtaster vi terminalen / konsollen:
 php håndværkermærke: mellemtype TypeMiddleware
Hvis vi tjekker inde i App / Http / Middleware, ser vi, at en fil TypeMiddleware.php er blevet oprettet svarende til dette:

Nu skal vi give funktionalitet til denne middleware, til dette opretter vi en ny rute i routes.php:
 Rute :: get ('panel', ['middleware' => 'type', funktion () {return '';}]);
Hvis vi forsøger at indtaste stien oprettet i det foregående trin / panel, vises der en fejl, der angiver, at klassen "type" ikke findes. Bare rolig, det sker, fordi denne middleware ikke er tilføjet til vores registreringsdatabase.

Vi skal gå til Kernel.php -filen i App / Http, og placere dem i den specifikke middleware efter sti. Da hvis de placeres globalt, ville det blive udført for hver anmodning, der blev fremsat til applikationen, uanset hvilken sti der blev åbnet, og normalt ville det være en fejl. Så vi erklærer det i $ routeMiddleware -arrayet.

Hvis vi prøver nu, DET VIRKER, På dette tidspunkt skulle vi have adgang til stien / panelet uden problemer og uden at give os fejl, men kom nu, dette har ikke nogen funktionalitet endnu, til #program.
Vi vil teste verifikationen, hvis typevariablen er lig med Administrator, siden vil blive vist; ellers gå til begyndelsen af ​​webstedet.

Et indbygget plus i Laravel 5.1 er muligheden for at videregive parametre fra ruter:

Og med dette er vi færdige, du ved allerede, hvordan du laver din egen middleware, kommenterer og deler, sammen lærer vi mange flere ting. Vær hilset.Kan du lide og hjælpe denne vejledning?Du kan belønne forfatteren ved at trykke på denne knap for at give ham et positivt punkt
wave wave wave wave wave