HTTP Middleware (mediatori) - filtreaza procesarea HTTP-cerere. De exemplu, în Laravel incluse pentru autentificarea middleware utilizator. În cazul în care utilizatorul nu este conectat, middleware transmite mai departe la pagina de conectare. În cazul în care utilizatorul conectat - middleware nu interferează cu trecerea cererii, o transmite mai departe de-a lungul lanțului de intermediari la aplicațiile middleware proprii.
Notă: cum ar fi filtrele de middleware-uri rute în Laravel 4.
crearea middleware
Să luăm, de exemplu, a crea un middleware, care va permite numai acele cereri care au vârsta de parametru va avea mai mult de 200, și toate celelalte înainte pe / acasă.
Pentru a crea o utilizare middleware comanda make: middleware:
Aplicația directorul / HTTP / Middleware va fi creat cu fișierul de clasă OldMiddleware.
Pentru a sări peste o interogare pe, trebuie să apelați-circuitarea funcția $ următorul parametru cu cererea $.
Cel mai bine este să reprezinte un set ca middleware-uri de straturi care HTTP-cerere trebuie să treacă înainte de a ajunge la cererea dumneavoastră. La fiecare nivel, o cerere poate fi verificată în funcție de diferite criterii și, dacă este necesar, complet respinsă.
Înregistrează-middleware
Dacă aveți nevoie pentru a obține prin intermediul middleware-ul trece toate HTTP-cereri, adăugați-l la proprietatea app $ middleware clasă / HTTP / Kernel.php:
Comparați cu Route specificat
Adăugați proprietatea dvs. la clasa middleware routeMiddleware app / HTTP / Kernel.php. atribuindu-i un nume, de exemplu, autorizare. care va fi cheia de matrice:
Acum aveți posibilitatea să atribuiți acest middleware este rutat sau grup:
determinabil Middleware
Uneori, middleware ar putea avea nevoie pentru a face unele de lucru după răspunsurile HTTP au fost trimise la browser. De exemplu, middleware „sesiune“, furnizat cu Laravel, scrie datele de sesiune la magazia după trimiterea unui răspuns la browser. Pentru a face acest lucru, puteți determina modul în care middleware „determinabil“.
După cum puteți vedea, în plus față de definirea metodei de mâner. TerminableMiddleware definește și se termină metoda. Această metodă primește cererea și răspunsul. Odată ce ați identificat middleware determinabil, trebuie să-l adăugați la lista intermediarilor la nivel mondial în kernel HTTP.