Scheb\TwoFactorBundle\DependencyInjection\SchebTwoFactorExtension::load PHP Метод

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

public load ( array $configs, ContainerBuilder $container )
$configs array
$container Symfony\Component\DependencyInjection\ContainerBuilder
    public function load(array $configs, ContainerBuilder $container)
    {
        $configuration = new Configuration();
        $config = $this->processConfiguration($configuration, $configs);
        $container->setParameter('scheb_two_factor.model_manager_name', $config['model_manager_name']);
        $container->setParameter('scheb_two_factor.email.sender_email', $config['email']['sender_email']);
        $container->setParameter('scheb_two_factor.email.sender_name', $config['email']['sender_name']);
        $container->setParameter('scheb_two_factor.email.template', $config['email']['template']);
        $container->setParameter('scheb_two_factor.email.digits', $config['email']['digits']);
        $container->setParameter('scheb_two_factor.google.server_name', $config['google']['server_name']);
        $container->setParameter('scheb_two_factor.google.issuer', $config['google']['issuer']);
        $container->setParameter('scheb_two_factor.google.template', $config['google']['template']);
        $container->setParameter('scheb_two_factor.trusted_computer.enabled', $config['trusted_computer']['enabled']);
        $container->setParameter('scheb_two_factor.trusted_computer.cookie_name', $config['trusted_computer']['cookie_name']);
        $container->setParameter('scheb_two_factor.trusted_computer.cookie_lifetime', $config['trusted_computer']['cookie_lifetime']);
        $container->setParameter('scheb_two_factor.trusted_computer.cookie_secure', $config['trusted_computer']['cookie_secure']);
        $container->setParameter('scheb_two_factor.security_tokens', $config['security_tokens']);
        $container->setParameter('scheb_two_factor.ip_whitelist', $config['ip_whitelist']);
        $container->setParameter('scheb_two_factor.parameter_names.auth_code', $config['parameter_names']['auth_code']);
        $container->setParameter('scheb_two_factor.parameter_names.trusted', $config['parameter_names']['trusted']);
        $container->setParameter('scheb_two_factor.exclude_pattern', $config['exclude_pattern']);
        // Load two-factor modules
        if ($config['email']['enabled'] === true) {
            $this->configureEmail($container, $config);
        }
        if ($config['google']['enabled'] === true) {
            $this->configureGoogle($container);
        }
        $loader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
        $loader->load('security.xml');
        $loader->load('listeners.xml');
        $loader->load('persistence.xml');
        // Configure persister service
        $this->configurePersister($container, $config);
    }

Usage Example

 /**
  * @test
  */
 public function load_alternativePersister_replaceArguments()
 {
     $config = $this->getFullConfig();
     $this->extension->load(array($config), $this->container);
     $this->assertDefinitionHasServiceArgument('scheb_two_factor.trusted_cookie_manager', 0, 'acme_test.persister');
     $this->assertDefinitionHasServiceArgument('scheb_two_factor.security.email.code_generator', 0, 'acme_test.persister');
     $this->assertDefinitionHasServiceArgument('scheb_two_factor.backup_code_validator', 0, 'acme_test.persister');
 }