Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to compress html output in Symfony2?

I know Twig has a {% spaceless %} filter, but it only removes spaces between html tags.

I need to return a single line of html for every page in the site. I have a regexp that can deal with that, but I don't know where to use it in sf2, since everything happens automagically.

I think I have to register a new templating engine, or add a twig extension, but I couldn't find enough documentation about the subject, so I'm stuck

Any ideas?

like image 867
HappyDeveloper Avatar asked Jul 12 '11 18:07

HappyDeveloper


1 Answers

To run your regex on all view output, you can hook into the kernel.response event that is dispatched by the Symfony2 framework.

From the section on kernel.response:

The purpose of this event is to allow other systems to modify or replace the Response object after its creation:

public function onKernelResponse(FilterResponseEvent $event)
{
    $response = $event->getResponse();

    // ... modify the response object
}

I would recommend reading the Internals chapter for even more details.

like image 144
Stephen Watkins Avatar answered Oct 07 '22 17:10

Stephen Watkins