Symfony\Component\HttpKernel\EventListener\FragmentListener::onKernelRequest PHP Метод

onKernelRequest() публичный Метод

Fixes request attributes when the path is '/_fragment'.
public onKernelRequest ( GetResponseEvent $event )
$event Symfony\Component\HttpKernel\Event\GetResponseEvent A GetResponseEvent instance
    public function onKernelRequest(GetResponseEvent $event)
    {
        $request = $event->getRequest();
        if ($this->fragmentPath !== rawurldecode($request->getPathInfo())) {
            return;
        }
        if ($request->attributes->has('_controller')) {
            // Is a sub-request: no need to parse _path but it should still be removed from query parameters as below.
            $request->query->remove('_path');
            return;
        }
        if ($event->isMasterRequest()) {
            $this->validateRequest($request);
        }
        parse_str($request->query->get('_path', ''), $attributes);
        $request->attributes->add($attributes);
        $request->attributes->set('_route_params', array_replace($request->attributes->get('_route_params', array()), $attributes));
        $request->query->remove('_path');
    }

Usage Example

Пример #1
0
 public function testRemovesPathWithControllerNotDefined()
 {
     $signer = new UriSigner('foo');
     $request = Request::create($signer->sign('http://example.com/_fragment?_path=foo%3Dbar'), 'GET', array(), array(), array(), array('REMOTE_ADDR' => '10.0.0.1'));
     $listener = new FragmentListener($signer);
     $event = $this->createGetResponseEvent($request);
     $listener->onKernelRequest($event);
     $this->assertFalse($request->query->has('_path'));
 }
All Usage Examples Of Symfony\Component\HttpKernel\EventListener\FragmentListener::onKernelRequest