Задать вопрос

Как ужать html на выходе Symfony2?

Хочу прогнать вывод примерно через такой код:
$responce = ...;
$responce = str_replace(array("\n", "\r", "\t"), ' ', $responce);
$responce = preg_replace('/ {2,}/', ' ', $responce);
...

Нашел только 1 вопрос на SO, но мне не совсем понятен ответ.
stackoverflow.com/questions/6669112/how-to-compres...
В каком месте переписать метод FilterResponseEvent->onKernelResponse()?

Или лучше такие дела делать фильтром для twig и прогонять через него шаблон base.html.twig?
  • Вопрос задан
  • 2463 просмотра
Подписаться 4 Оценить Комментировать
Решения вопроса 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Два варианта: экстеншен для twig который обрабатывает весь html (не фильтр, что бы было более прозрачно). К сожалению тут нужно покапаться, сделать это можно и довольно легко. но как - это уже надо смотреть. К сожалению я уже не помню нутро твига и разбираться времени нету.

Ну а если вам нужно преобразовать респонс - можно ловить его в ивентах и заменять. Собственно то что вы привели именно это и делает. Перед тем как отдаль ответ, вызывается ивент. В обработчике этого ивента вы можете подменить ответ на свой, сделать что-то с исходным... То есть вам надо написать EventListener который обрабатывает событие kernel.response.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы