Contao\CoreBundle\EventListener\ContainerScopeListener::onKernelFinishRequest PHP Method

onKernelFinishRequest() public method

Leaves the container scope when finishing the request.
public onKernelFinishRequest ( Symfony\Component\HttpKernel\Event\FinishRequestEvent $event )
$event Symfony\Component\HttpKernel\Event\FinishRequestEvent
    public function onKernelFinishRequest(FinishRequestEvent $event)
    {
        if (null !== ($scope = $this->getScopeFromEvent($event))) {
            $this->container->leaveScope($scope);
        }
    }

Usage Example

 /**
  * Tests the onKernelFinishRequest method.
  */
 public function testOnKernelFinishRequest()
 {
     $this->container->addScope(new Scope(ContaoCoreBundle::SCOPE_BACKEND, 'request'));
     $this->container->enterScope(ContaoCoreBundle::SCOPE_BACKEND);
     /** @var HttpKernelInterface $kernel */
     $kernel = $this->getMockForAbstractClass('Symfony\\Component\\HttpKernel\\Kernel', ['test', false]);
     $request = new Request();
     $request->attributes->set('_scope', ContaoCoreBundle::SCOPE_BACKEND);
     $listener = new ContainerScopeListener($this->container);
     $listener->onKernelFinishRequest(new FinishRequestEvent($kernel, $request, new Response()));
     $this->assertTrue($this->container->hasScope(ContaoCoreBundle::SCOPE_BACKEND));
     $this->assertFalse($this->container->isScopeActive(ContaoCoreBundle::SCOPE_BACKEND));
 }