ну давай выкинем из фреймворка ar, request, response, sl
Проведу итог и свалю, у меня обед закончился.
Когда ты деливеришь маленькую фичу, переписывая пол проекте, это явно говорит о его большой связности, низком зацеплении, принимайте в таком случаее 2 таблетки IoC/DIP внутрь после еды.
Если ты следуя принципу KISS пытаешься сделать максимально просто и все равно получаешь говно по итогу, значит курите после обеда закон Деметры, Information expert/hidding, Creator паттерн.
Если ты считаешь что хорошо потрестированный сильносвязный код == хорошо и что именно фреймворк заставляет тебя так писать, задумайся на что ты тратишь свое драгоценное время, хотя более чем уверен что проблема в тебе.
Request/Response http messages psr7 завязанны исключительно на интерфейсах.
Ты не привязан к конкретной реализации Request/Response, именно поэтому в мидлваре ты всегда можешь подменить ответ, или запрос.
Перепрыгивая с темы на тему вкидывая мало знакомы тебе термины, я узнал о тебе больше, чем хотелось бы.
всем спасибо, жаль нормального дискуса не получилось.