eZ\Bundle\EzPublishCoreBundle\Fragment\FragmentListenerFactory::buildFragmentListener PHP Method

buildFragmentListener() public method

public buildFragmentListener ( Symfony\Component\HttpKernel\UriSigner $uriSigner, $fragmentPath, $fragmentListenerClass )
$uriSigner Symfony\Component\HttpKernel\UriSigner
    public function buildFragmentListener(UriSigner $uriSigner, $fragmentPath, $fragmentListenerClass)
    {
        // no request when executing over CLI
        if (!($request = $this->getCurrentRequest())) {
            return null;
        }
        // Ensure that current pathinfo ends with configured fragment path.
        // If so, consider it as the fragment path.
        // This ensures to have URI siteaccess compatible fragment paths.
        $pathInfo = $request->getPathInfo();
        if (substr($pathInfo, -strlen($fragmentPath)) === $fragmentPath) {
            $fragmentPath = $pathInfo;
        }
        return new $fragmentListenerClass($uriSigner, $fragmentPath);
    }

Usage Example

 public function testBuildFragmentListenerNoRequest()
 {
     $factory = new FragmentListenerFactory();
     $factory->setRequestStack(new RequestStack());
     $listener = $factory->buildFragmentListener(new UriSigner('my_precious_secret'), '/_fragment', 'Symfony\\Component\\HttpKernel\\EventListener\\FragmentListener');
     $this->assertNull($listener);
 }
All Usage Examples Of eZ\Bundle\EzPublishCoreBundle\Fragment\FragmentListenerFactory::buildFragmentListener
FragmentListenerFactory