Впрочем не суть это важно, уже появились различные адаптеры и утилиты, нивелирующие это безобразие. Решил и я сделать в своей свистоперделке такой универсальный механизм.
И все бы ничего, но вот один момент никак не пойму. Если Response в PSR-15 получается из делегата, то как сделать BEFORE? В Slim все просто:
function ($request, $response, $next) {
$response->getBody()->write('BEFORE');
$response = $next($request, $response);
$response->getBody()->write('AFTER');
return $response;
};
В новой схеме Response нету до того, как отработает хэндлер:
public function process($request, $handler) {
// $response->getBody()->write('BEFORE'); ????????????
$response = $handler->handle($request);
$response->getBody()->write('AFTER');
return $response;
};
И что теперь, про BEFORE можно забыть? А совместимость... Делать Response "глобальным" в механизме очереди, это тот еще геммор. Чего то я недопонимаю. :(
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.
Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.
Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.