eZ\Bundle\EzPublishRestBundle\DependencyInjection\Security\RestSessionBasedFactory::createListener PHP Метод

createListener() защищенный Метод

protected createListener ( $container, $id, $config, $userProvider )
    protected function createListener($container, $id, $config, $userProvider)
    {
        $listenerId = $this->getListenerId();
        $listener = new DefinitionDecorator($listenerId);
        $listener->replaceArgument(2, $id);
        /* @var \Symfony\Component\DependencyInjection\ContainerBuilder $container */
        $listenerId .= '.' . $id;
        $container->setDefinition($listenerId, $listener);
        $container->setAlias('ezpublish_rest.session_authenticator', $listenerId);
        if ($container->hasDefinition('security.logout_listener.' . $id)) {
            // Copying logout handlers to REST session authenticator, to allow proper logout using it.
            $logoutListenerDef = $container->getDefinition('security.logout_listener.' . $id);
            $logoutListenerDef->addMethodCall('addHandler', array(new Reference('ezpublish_rest.security.authentication.logout_handler')));
            foreach ($logoutListenerDef->getMethodCalls() as $callArray) {
                if ($callArray[0] !== 'addHandler') {
                    continue;
                }
                $listener->addMethodCall('addLogoutHandler', $callArray[1]);
            }
        }
        return $listenerId;
    }