Мидълуерът е просто част от кода, който се изпълнява при всяка заявка. Доколкото знам, това не пречи на вашия цикъл на заявка, както при създаването на HTTP пренасочвания, освен ако вашият междинен софтуер не прави това изрично. Най-основният поток за изпълнение на мидълуер е
request -> middleware-1 -> middleware-2 ... middleware-N -> controller action -> response
Логично, докато добавяте повече мидълуер, повече код се изпълнява при всяка заявка, така че да, мисля, че това може да повлияе на производителността на вашето приложение, но за да разберете колко точно е въздействието, ще трябва да сравните кода си със и без мидълуер. Освен това междинният софтуер ви помага да филтрирате заявките. Ако определен междинен софтуер спре заявката да се разпространи по-нататък във вашето приложение, се изпълнява много малко код, така че трябва също да имате предвид, че не всички заявки изпълняват същото количество код. С други думи, на горната фигура, ако определено условие е неуспешно в мидълуер-1, останалата част от мидълуера плюс кода на контролера дори не се изпълнява и отговорът се връща незабавно.
Що се отнася до наличието на специализирани обекти за всеки мидълуер, бих казал да, това трябва да е вашият подход, тъй като архитектурата на Laravel 5 насърчава това и също така прави вашия мидълуер модулен (повторно използваем в други приложения).
person
Noman Ur Rehman
schedule
08.05.2015