public function onKernelView(GetResponseForControllerResultEvent $event) { $request = $event->getRequest(); $dispatcher = $event->getDispatcher(); $view = $this->getView($event); // ensure we do have a view if we got this far $view = $view ?: $this->container->get('defaultView'); // populate response $response = new Response(); $dispatcher->dispatch('view_start', new GenericEvent(null, array('request' => $request, 'view' => $view))); $response->setContent($view->generate($request)); $dispatcher->dispatch('view_done', new GenericEvent(null, array('request' => $request, 'view' => $view))); $zmevent = new GenericEvent($this, array('request' => $request, 'view' => $view, 'content' => $response->getContent())); $dispatcher->dispatch('finalise_content', $zmevent); $response->setContent($zmevent->getArgument('content')); $event->setResponse($response); }