Middleware w Laravelu
Jest to jedno z pytań które bardzo często jest zadawane przez osoby stawiające swoje pierwsze kroki w świecie Laravela. Dzisiaj odpowiem na to pytanie .
Tak więc co to jest ten Middleware?
Otóż jest to nic innego jak warstwa aplikacji która jest odpowiedzialna za filtrowanie żądania HTTP. Kiedy żądania są wysyłane do aplikacji często zachodzi potrzeba autentykacji, autoryzacji, czy jakiejkolwiek formy weryfikacji bądź filtracji żądania. Można wykorzystać ten system do stworzenia/zapewnienia jakiejkolwiek formy zabezpieczeń. Można to porównać do Firewalla .
O tak, to będzie dobre spojrzenie na tę kwestię. Patrz na middleware jak na mur, ścianę, warstwę którą musi najpierw przejść żądanie zanim dostanie się do środka twojej aplikacji . Chociaż nie tylko tak można wykorzystać middleware, ale jeszcze o tym powiem .
Jakie są dostępne Middleware?
W czystej instalacji Laravela mamy do dyspozycji szeroką gamę podstawowych middleware, jak chociażby takie które sprawdzają czy dany użytkownik jest zalogowany, czy nie jest zalogowany, middleware odpowiedzialne za limitowanie ilości żądań itd...
Ale czy tylko tyle?
No otóż nie. Bo masz możliwość w prosty i szybki sposób tworzyć własne warstwy middleware . Możesz stworzyć i wykorzystać ich ile tylko zechcesz.
Czyli middleware służą tylko do zabezpieczeń jako firewall?
Tutaj również odpowiedzią jest nie . Ponieważ są to warstwy i ty nadajesz im logikę. Możesz je wykorzystać chociażby do upakowywania odpowiedzi w jakieś konkretne nagłówki, możesz sprawić by były odpowiedzialne za tworzenie logów twojej aplikacji przy każdym żądaniu… co tylko ci przyjdzie do głowy !
Czy każdy middleware muszę osobno dodawać do adresów?
Również nie . Możesz bardzo łatwo i szybko stworzyć grupę middleware, która będzie w sobie zawierała kilka innych, dzięki czemu możesz dużo sprawniej zarządzać swoimi middleware.
Dodatkowo masz możliwość stworzenia globalnych middleware, takich które będą obecne przy każdym żądaniu jakie tylko przyjdzie do twojej aplikacji !
Czy coś jeszcze powinienem wiedzieć?
Otóż tak . Ponieważ masz również możliwość przekazywania parametrów do middleware, tak więc masz dużo większą kontrolę nad własnymi middleware. Dzięki temu również zamykasz je na modyfikację co jest bardzo ważne .
Posiadasz również możliwość stworzenia middleware który wykona się tuż przed wysłaniem odpowiedzi do klienta, także jest to taka warstwa która leży zupełnie z drugiej strony, nie na wejściu lecz na wyjściu. To ci daje już całkowitą kontrolę ! Masz warstwy z dwóch stron aplikacji ! Możesz to choćby wykorzystać do wykonania zapisu sesji do pliku zanim odpowiedź zostanie wysłana do klienta .
I to już wszystko w temacie Middleware
Także jak widzisz, middleware to warstwy którymi możesz obłożyć swoją aplikacje z obu stron. Jest to genialne rozwiązanie które daje ci niesamowite możliwości . Wykorzystaj mądrze!
A tymczasem doszliśmy do końca tego artykułu . Dziękuję ci za lekturę i powodzenia na polu walki. Niech middleware ci sprzyjają !
Bywaj!