Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace Drupal\Core;
- use Symfony\Component\DependencyInjection\ContainerBuilder;
- use Symfony\Component\DependencyInjection\Reference;
- use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
- use Symfony\Component\HttpKernel\KernelEvents;
- use Symfony\Component\HttpFoundation\Response;
- use Symfony\Component\EventDispatcher\Event;
- class DrupalContainer extends ContainerBuilder {
- public function __construct(ParameterBagInterface $parameterBag = null) {
- parent::__construct($parameterBag);
- $this->register('context', 'Symfony\Component\Routing\RequestContext')
- ->addMethodCall('fromRequest', array($this->parameterBag->get('request')));
- $this->register('matcher', 'Drupal\Core\UrlMatcher')
- ->setArguments(array(new Reference('context')));
- $this->register('resolver', 'Symfony\Component\HttpKernel\Controller\ControllerResolver');
- $this->register('dispatcher', 'Symfony\Component\EventDispatcher\EventDispatcher')
- ->addMethodCall('addListener', array(
- KernelEvents::VIEW,
- function(Event $event) {
- $page_callback_result = $event->getControllerResult();
- $event->setResponse(new Response(drupal_render_page($page_callback_result)));
- }
- ));
- $this->register('kernel', 'Symfony\Component\HttpKernel\HttpKernel')
- ->setArguments(array(new Reference('dispatcher'), new Reference('resolver')));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment