Middleware, laravel orosz
Közvetítők (Eng. Middleware) biztosítják a kényelmes mechanizmust szűrés HTTP-kérések az alkalmazás. Például Laravel a közvetítő a felhasználói hitelesítés. Ha a felhasználó nem hitelesített, a proxy átirányítja a bejelentkezési képernyő. Ha a felhasználó hitelesítése, a közvetítő lehetővé teszi a kérelmet, hogy haladnak tovább az alkalmazásba.
A Laravel számos szabványos közvetítők, ideértve azokat a közvetítőket a hitelesítés és CSRF védje. Minden találhatók a könyvtárban app / HTTP / Middleware.
Létrehozása közvetítő
Ahhoz, hogy hozzon létre egy ügynök, használja a Artisan sh make: middleware:
Ez a parancs fogja tenni az új CheckAge osztályt az könyvtárba app / HTTP / Middleware. Ebben a közvetítő fogjuk, hogy csak azokat a kéréseket, ahol a kor több mint 200, és minden más esetben is fogják irányítani a felhasználókat URI «haza».
A legegyszerűbb módja annak, hogy nyújtson be egy közvetítő, mint egy sor „szintje”. amelynek át kell haladnia a HTTP-kérést, mielőtt jön az alkalmazás. Minden szinten ellenőrizni tudja a kérést, és akár teljesen elutasítják azt.
Teljesítő közvetítő „előtte” és „utána” lekérdezés
Abban a pillanatban, amelyben a közvetítő fog működni - előtt vagy után a kérelmet, tőle függ. Például a közvetítő végre néhány feladatot korábban. mint a kérés feldolgozása az alkalmazás:
És ez a közvetítő feladatot hajtja végre, miután a kérés feldolgozása az alkalmazás által:
Regisztráció közvetítő
Global közvetítő
Ha azt szeretnénk, hogy működjön egy közvetítő egyes HTTP-kérés az alkalmazás, adjuk hozzá a közvetítő PHP middleware osztályú ingatlanok $ app / HTTP / Kernel.php.
Kijelölése a közvetítő útvonalak
Ha szeretné, hogy jelöljön ki egy közvetítő egy adott útvonalon, először meg kell adni kuiesmediátor az app / HTTP / Kernel.php osztályban. Alapértelmezett PHP $ routeMiddleware ebbe az osztályba tartozó ingatlanok jegyzékét tartalmazó Laravel közvetítők. Hozzá a saját közvetítő, csak add hozzá a listához, és adjon neki a kulcsot, amelyet választott. Például:
Ha a szállító az a HTTP-core, akkor a köztes eljárás kinevezése közvetítő az útvonalon: