Nelmio\SecurityBundle\DependencyInjection\NelmioSecurityExtension::buildDirectiveSetDefinition PHP Метод

buildDirectiveSetDefinition() приватный Метод

private buildDirectiveSetDefinition ( ContainerBuilder $container, $config, $type )
$container Symfony\Component\DependencyInjection\ContainerBuilder
    private function buildDirectiveSetDefinition(ContainerBuilder $container, $config, $type)
    {
        $directiveDefinition = new Definition('Nelmio\\SecurityBundle\\ContentSecurityPolicy\\DirectiveSet');
        if (version_compare(Kernel::VERSION, '2.6', '>=')) {
            $directiveDefinition->setFactory(array('Nelmio\\SecurityBundle\\ContentSecurityPolicy\\DirectiveSet', 'fromConfig'));
        } else {
            $directiveDefinition->setFactoryClass('Nelmio\\SecurityBundle\\ContentSecurityPolicy\\DirectiveSet');
            $directiveDefinition->setFactoryMethod('fromConfig');
        }
        $pmDefinition = $container->getDefinition('nelmio_security.policy_manager');
        if (isset($config[$type]) && $config[$type]['browser_adaptive']['enabled']) {
            $service = $config[$type]['browser_adaptive']['parser'];
            if ($service === 'nelmio_security.ua_parser.ua_php' && !class_exists('UAParser\\Parser')) {
                throw new \RuntimeException('You must require "ua-parser/uap-php" as a dependency to use the browser_adaptive feature or configure your own "nelmio_security.ua_parser.service"');
            }
            $container->setParameter('nelmio_browser_adaptive_parser', $service);
            $uaParser = $container->getDefinition('nelmio_security.ua_parser');
            $uaParser->setArguments(array($container->getDefinition('nelmio_security.ua_parser.ua_php')));
            $pmDefinition->setArguments(array($uaParser));
        }
        $directiveDefinition->setArguments(array($pmDefinition, $config, $type));
        return $directiveDefinition;
    }