Inhoudsopgave
In Laravel 5 we hebben de middlewares, een nieuw onderdeel vergelijkbaar met de filters, hoewel het duidelijk moet zijn wat ze vervangen ze niet, en ze zijn ook niet hetzelfde.De filters ze blijven leven met de middleware in Laravel 5, en hoewel ik denk dat deze in de toekomst kunnen worden geëlimineerd, hebben ze dat voorlopig niet gedaan, dus je kunt kiezen tussen het blijven gebruiken van de filters zoals je deed of de middleware gebruiken, die ik als meer intuïtief beschouw.
Laravel bevat een middleware die verifieert of de gebruiker van de applicatie is geverifieerd, dit is standaard en je kunt het activeren met behulp van de migraties die Laravel standaard brengt en proberen toegang te krijgen / naar huis te gaan.
Het voordeel van dit mechanisme is een betere controle van de verzoeken die onze site ontvangt, dat wil zeggen dat we op een ordelijke en correcte manier extra lagen aan de logica van onze applicatie zouden toevoegen, voor de verschillende bedrijfsmodellen, en zonder de noodzaak om nieuwe toevoegen externe componenten.
Laravel heeft een middleware genaamd Authenticate en wordt gehost op App \ Http \ Middleware, hier het voorbeeld van de authenticatie-middleware.
De meest voorkomende scope van een middleware is gelaagde auth (authenticatie). Erg handig op sites waar het nodig is dat de sessies bepaalde privileges hebben om de inhoud van bepaalde pagina's te kunnen zien.
Hoe maak je een middleware aan?
Het eerste dat u moet doen, is een Laravel 5.1-project maken. U kunt componist gebruiken om dit te bereiken.
componist install create-project laravel / laravel myprojectLater typen we de terminal / console in:
php artisan make: middleware TypeMiddlewareAls we binnen App / Http / Middleware kijken, zien we dat er een bestand TypeMiddleware.php is gemaakt dat gelijk is aan dit:
Nu moeten we functionaliteit aan deze middleware geven, hiervoor maken we een nieuwe route in routes.php:
Route :: get ('panel', ['middleware' => 'type', function () {return '';}]);Als we proberen het pad in te voeren dat in de vorige stap / paneel is gemaakt, wordt een fout weergegeven die aangeeft dat de klasse "type" niet bestaat. Maak je geen zorgen, dit gebeurt omdat deze middleware niet is toegevoegd aan ons register.
We moeten naar het bestand Kernel.php in App / Http gaan en ze per pad in de specifieke middleware plaatsen. Aangezien als ze globaal worden geplaatst, voor elk verzoek dat aan de toepassing wordt gedaan, ongeacht het pad dat wordt gebruikt, het wordt uitgevoerd, en normaal gesproken zou dit een fout zijn. Dus we declareren het in de $ routeMiddleware array.
Als we het nu proberen, HET WERKT, Op dit punt zouden we zonder enig probleem en zonder fouten toegang moeten kunnen krijgen tot het pad / paneel, maar kom op, dit heeft nog geen functionaliteit, om te #programmeren.
We gaan de verificatie testen als de typevariabele gelijk is aan Administrator, de pagina wordt weergegeven; ga anders naar het begin van de site.
Een ingebouwd pluspunt in Laravel 5.1 is de mogelijkheid om parameters van routes door te geven:
En hiermee zijn we klaar, je weet al hoe je je eigen middleware kunt maken, becommentariëren en delen, samen zullen we nog veel meer dingen leren. Hartelijk groeten.Vond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een positief punt te geven