Laravel 5.1 mellomvare

Innholdsfortegnelse

I Laravel 5 vi har mellomvare, en ny komponent som ligner filtrene, selv om det burde være klart hva de erstatter dem ikke, og de er heller ikke det samme.
De filtre de lever videre med mellomvare i Laravel 5, og selv om jeg i fremtiden tror at disse kan elimineres, for øyeblikket har de ikke gjort det, så du kan velge mellom å fortsette å bruke filtrene slik du gjorde eller å bruke mellomprogramvaren, som jeg anser som mer intuitiv.
Laravel inkluderer en mellomvare som bekrefter om applikasjonsbrukeren er autentisert, dette kommer som standard, og du kan aktivere det ved hjelp av migreringene som Laravel bringer som standard og prøver å få tilgang til / hjem.
Fordelen med denne mekanismen er en bedre kontroll av forespørslene som nettstedet vårt mottar, det vil si at vi vil legge til flere lag i logikken i applikasjonen vår på en ryddig og korrekt måte, for de forskjellige forretningsmodellene, og uten å måtte legge til nye. eksterne komponenter.
Laravel har en mellomvare som heter Authenticate, og den er hostet på App \ Http \ Middleware, her eksemplet på autentisering mellomvare.

Det vanligste omfanget av en mellomvare er tiered auth (autentisering). Veldig nyttig på nettsteder der det er nødvendig at øktene har visse privilegier for å kunne se innholdet på bestemte sider.

Hvordan lage en mellomvare?


Det første du må gjøre er å lage et Laravel 5.1 -prosjekt. Du kan bruke komponist for å oppnå det.
 komponist installer create-project laravel / laravel myproject
Senere skriver vi inn terminalen / konsollen:
 php artisan make: mellomvare TypeMiddleware
Hvis vi sjekker inne i App / Http / Middleware, ser vi at en File TypeMiddleware.php har blitt opprettet lik denne:

Nå må vi gi funksjonalitet til denne mellomvaren, for dette lager vi en ny rute i routes.php:
 Rute :: get ('panel', ['middleware' => 'type', funksjon () {retur '';}]);
Hvis vi prøver å angi banen som ble opprettet i forrige trinn / panel, vil det vises en feil som indikerer at klassen "type" ikke eksisterer. Ikke bekymre deg, dette skjer fordi denne mellomvaren ikke er lagt til i vårt register.

Vi må gå til Kernel.php -filen som ligger i App / Http, og plassere dem i den spesifikke mellomvaren etter bane. Siden hvis de blir plassert globalt, ville den bli utført for hver forespørsel som ble sendt til applikasjonen, uavhengig av banen du åpnet, og normalt ville dette være en feil. Så vi erklærer det i $ routeMiddleware -matrisen.

Hvis vi prøver nå, DET FUNGERER, På dette tidspunktet bør vi ha tilgang til banen / panelet uten problemer og uten å gi oss feil, men kom igjen, dette har ingen funksjonalitet ennå til #program.
Vi skal teste verifiseringen hvis typevariabelen er lik Administrator, siden vil bli vist; ellers gå til begynnelsen av nettstedet.

Et innebygd pluss i Laravel 5.1 er muligheten til å passere parametere fra ruter:

Og med dette er vi ferdige, du vet allerede hvordan du lager din egen mellomvare, kommenterer og deler, sammen lærer vi mange flere ting. Hilsener.Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng
wave wave wave wave wave