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