Нужно внедрить в сайт режим обслуживания.
Решил сделать его через middleware.
Терзают сомнения, логично ли так делать? Или можно как-то корректнее это делать?
class Maintenance implements MiddlewareInterface
{
private $renderer;
public function __construct(TemplateRendererInterface $renderer)
{
$this->renderer = $renderer;
}
public function process(
ServerRequestInterface $request,
RequestHandlerInterface $handler
) : ResponseInterface
{
/*
* Тут будет дополнительная проверка на текущий роут и авторизацию.
* Для авторизованных пользователей,
* а так же для роута логина будет передавать управление далее по пайпу
*/
return new HtmlResponse($this->renderer->render(
'site::maintenance',
[]
), 503, ['Retry-After' => '3600']);
}
}