setAlias() public method

Sets an alias for an existing service.
public setAlias ( string $alias, string | Alias $id )
$alias string The alias to create
$id string | Alias The service to alias
 /**
  * {@inheritDoc}
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $configuration = new Configuration();
     $config = $this->processConfiguration($configuration, $configs);
     $loader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('shorty.xml');
     foreach ($config['providers'] as $providerName => $providerConfiguration) {
         switch ($providerConfiguration['id']) {
             case 'google':
                 $definition = new Definition($container->getParameter('rezzza.shorty.google.class'), array($providerConfiguration['key']));
                 $definition->addMethodCall('setHttpAdapter', array(new Definition($providerConfiguration['http_adapter'])));
                 $container->setDefinition($this->getShortyProviderName($providerName), $definition);
                 break;
             case 'bitly':
                 $definition = new Definition($container->getParameter('rezzza.shorty.bitly.class'), array($providerConfiguration['access_token']));
                 $definition->addMethodCall('setHttpAdapter', array(new Definition($providerConfiguration['http_adapter'])));
                 $container->setDefinition($this->getShortyProviderName($providerName), $definition);
                 break;
             case 'chain':
                 $definition = new Definition($container->getParameter('rezzza.shorty.chain.class'));
                 foreach ($providerConfiguration['providers'] as $provider) {
                     $definition->addMethodCall('addProvider', array(new Reference($this->getShortyProviderName($provider))));
                 }
                 $container->setDefinition($this->getShortyProviderName($providerName), $definition);
                 break;
             default:
                 $container->setAlias($this->getShortyProviderName($providerName), $providerConfiguration['id']);
                 break;
         }
     }
     if (isset($config['default_provider'])) {
         $container->setAlias('rezzza.shorty', $this->getShortyProviderName($config['default_provider']));
     }
 }
 public function process(ContainerBuilder $container)
 {
     $definitions = new \SplPriorityQueue();
     $order = PHP_INT_MAX;
     foreach ($container->getDefinitions() as $id => $definition) {
         if (!($decorated = $definition->getDecoratedService())) {
             continue;
         }
         $definitions->insert(array($id, $definition), array($decorated[2], --$order));
     }
     foreach ($definitions as list($id, $definition)) {
         list($inner, $renamedId) = $definition->getDecoratedService();
         $definition->setDecoratedService(null);
         if (!$renamedId) {
             $renamedId = $id . '.inner';
         }
         // we create a new alias/service for the service we are replacing
         // to be able to reference it in the new one
         if ($container->hasAlias($inner)) {
             $alias = $container->getAlias($inner);
             $public = $alias->isPublic();
             $container->setAlias($renamedId, new Alias((string) $alias, false));
         } else {
             $definition = $container->getDefinition($inner);
             $public = $definition->isPublic();
             $definition->setPublic(false);
             $container->setDefinition($renamedId, $definition);
         }
         $container->setAlias($inner, new Alias($id, $public));
     }
 }
 /**
  * {@inheritDoc}
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $configuration = new Configuration();
     $config = $this->processConfiguration($configuration, $configs);
     $loader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     if (!in_array(strtolower($config['db_driver']), array('orm'))) {
         throw new \InvalidArgumentException(sprintf('Invalid database driver (bait_poll.db_driver) "%s".', $config['db_driver']));
     }
     $loader->load(sprintf('%s.xml', $config['db_driver']));
     $container->setParameter('bait_poll.model_manager_name', $config['model_manager_name']);
     $container->setParameter('bait_poll.form.type', $config['form']['type']);
     $container->setParameter('bait_poll.form.name', $config['form']['name']);
     $container->setAlias('bait_poll.form.factory', $config['form']['factory']);
     $container->setParameter('bait_poll.poll.class', $config['poll']['class']);
     $container->setParameter('bait_poll.field.class', $config['field']['class']);
     $container->setParameter('bait_poll.vote.class', $config['vote']['class']);
     $container->setParameter('bait_poll.form.template', $config['form']['template']);
     $container->setParameter('bait_poll.form.theme', $config['form']['theme']);
     $container->setAlias('bait_poll.vote.manager', $config['vote']['manager']);
     $container->setAlias('bait_poll.poll.manager', $config['poll']['manager']);
     $loader->load('form.xml');
     $container->setParameter('bait_poll.cookie.prefix', $config['cookie']['prefix']);
     $container->setParameter('bait_poll.cookie.duration', $config['cookie']['duration']);
     $loader->load('poll.xml');
 }
    public function process( ContainerBuilder $container )
    {
        if ( !$container->hasAlias( 'session.storage' ) )
        {
            return;
        }

        $sessionStorageAlias = $container->getAlias( 'session.storage' );
        $sessionStorageProxyDef = $container->findDefinition( 'ezpublish_legacy.session_storage_proxy' );
        $sessionStorageProxyDef->replaceArgument( 1, new Reference( (string)$sessionStorageAlias ) );
        $container->setAlias( 'session.storage', 'ezpublish_legacy.session_storage_proxy' );

        if ( $container->hasAlias( 'session.handler' ) )
        {
            $sessionHandlerAlias = $container->getAlias( 'session.handler' );
            $interfaces = class_implements( $container->findDefinition( (string)$sessionHandlerAlias ) );
            // Only swap session handler if it implements appropriate interface.
            if ( isset( $interfaces['SessionHandlerInterface'] ) )
            {
                $sessionHandlerProxyDef = $container->findDefinition( 'ezpublish_legacy.session_handler_proxy' );
                $sessionHandlerProxyDef->replaceArgument( 1, new Reference( (string)$sessionHandlerAlias ) );
                $container->setAlias( 'session.handler', 'ezpublish_legacy.session_handler_proxy' );
            }
        }
    }
 /**
  * {@inheritDoc}
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $configuration = new Configuration();
     $config = $this->processConfiguration($configuration, $configs);
     $loader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     foreach (array('services', 'form') as $service) {
         $loader->load(sprintf('%s.xml', $service));
     }
     if ($config['service'] == 's3') {
         $loader->load('s3.xml');
     } else {
         $loader->load('connector.xml');
     }
     switch ($config['service']) {
         case 'php':
             $container->setAlias('jonlil_ckfinder.connector', 'jonlil.ckfinder.connector.php');
             break;
         case 's3':
             $container->setAlias('jonlil_ckfinder.connector', 'jonlil.ckfinder.connector.s3');
             $container->setParameter('jonlil_ckfinder.amazon', array('secret' => $config['secret'], 'bucket' => $config['bucket'], 'access_key' => $config['accessKey'], 'base_url' => $config['baseUrl'], 'base_dir' => $config['baseDir'], 'thumbnails_file' => $config['thumbnailsFile'], 'thumbnails_enabled' => $config['thumbnailsEnabled'], 'direct_access' => $config['directAccess'], 'file_delete' => $config['fileDelete'], 'file_rename' => $config['fileRename'], 'file_upload' => $config['fileUpload'], 'file_view' => $config['fileView'], 'folder_delete' => $config['folderDelete'], 'folder_rename' => $config['folderRename'], 'folder_create' => $config['folderCreate'], 'folder_view' => $config['folderView']));
             $container->setParameter('jonlil_ckfinder.baseDir', $config['baseDir']);
             break;
     }
     $container->setParameter('jonlil_ckfinder.license', array('key' => $config['license']['key'], 'name' => $config['license']['name']));
     $container->setParameter('jonlil_ckfinder.baseUrl', $config['baseUrl']);
     $container->setParameter('twig.form.resources', array_merge($container->getParameter('twig.form.resources'), array('JonlilCKFinderBundle:Form:ckfinder_widget.html.twig')));
 }
 /**
  * {@inheritdoc}
  */
 public function process(ContainerBuilder $container)
 {
     if ($container->hasDefinition('doctrine')) {
         $definition = new DefinitionDecorator('dag.form.type.object_to_identifier');
         $definition->addArgument(new Reference('doctrine'));
         $definition->addArgument('dag_entity_to_identifier');
         $definition->addTag('form.type', array('alias' => 'dag_entity_to_identifier'));
         $container->setDefinition('dag_entity_to_identifier', $definition);
     }
     if ($container->hasDefinition('doctrine_mongodb')) {
         $definition = new DefinitionDecorator('dag.form.type.object_to_identifier');
         $definition->addArgument(new Reference('doctrine_mongodb'));
         $definition->addArgument('dag_document_to_identifier');
         $definition->addTag('form.type', array('alias' => 'dag_document_to_identifier'));
         $container->setDefinition('dag_document_to_identifier', $definition);
         if (!$container->hasDefinition('dag_entity_to_identifier')) {
             $container->setAlias('dag_entity_to_identifier', 'dag_document_to_identifier');
         }
     }
     if ($container->hasDefinition('doctrine_phpcr')) {
         $definition = new DefinitionDecorator('dag.form.type.object_to_identifier');
         $definition->addArgument(new Reference('doctrine_phpcr'));
         $definition->addArgument('dag_phpcr_document_to_identifier');
         $definition->addTag('form.type', array('alias' => 'dag_phpcr_document_to_identifier'));
         $container->setDefinition('dag_phpcr_document_to_identifier', $definition);
         if (!$container->hasDefinition('dag_entity_to_identifier')) {
             $container->setAlias('dag_entity_to_identifier', 'dag_phpcr_document_to_identifier');
         }
     }
 }
 /**
  * {@inheritDoc}
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $configuration = new Configuration();
     $config = $this->processConfiguration($configuration, $configs);
     $prefix = self::PREFIX;
     $container->setAlias($prefix . self::RECIPIENT_PROVIDER, $config[self::RECIPIENT_PROVIDER]);
     $container->setParameter($prefix . self::RECIPIENT_CLASS, $config[self::RECIPIENT_CLASS]);
     $container->setParameter($prefix . self::RECIPIENT_NEWSLETTER_FIELD, $config[self::RECIPIENT_NEWSLETTER_FIELD]);
     $container->setAlias($prefix . self::TEMPLATE_PROVIDER, $config[self::TEMPLATE_PROVIDER]);
     $container->setAlias($prefix . self::TEMPLATE_TWIG_SWIFT_MAILER, $config[self::TEMPLATE_TWIG_SWIFT_MAILER]);
     $container->setParameter($prefix . 'no_reply', array('email' => $config[self::NO_REPLY][self::NO_REPLY_EMAIL_ADDRESS], 'name' => $config[self::NO_REPLY][self::NO_REPLY_EMAIL_NAME]));
     $container->setParameter($prefix . self::TEMPLATE_IMAGE_DIR, realpath($config[self::TEMPLATE_IMAGE_DIR]));
     $allowedFolders = array();
     foreach ($config[self::ALLOWED_IMAGES_FOLDERS] as $folder) {
         $allowedFolders[] = realpath($folder);
     }
     $container->setParameter($prefix . self::ALLOWED_IMAGES_FOLDERS, $allowedFolders);
     $container->setAlias($prefix . self::NOTIFIER_SERVICE, $config[self::NOTIFIER_SERVICE]);
     $container->setParameter($prefix . self::NEWSLETTER . "_" . self::NEWSLETTER_INTERVAL, $config[self::NEWSLETTER][self::NEWSLETTER_INTERVAL]);
     $container->setParameter($prefix . self::NEWSLETTER . "_" . self::NEWSLETTER_SEND_TIME, $config[self::NEWSLETTER][self::NEWSLETTER_SEND_TIME]);
     $container->setParameter($prefix . self::TEMPLATES . "_" . self::NEWSLETTER_TEMPLATE, $config[self::TEMPLATES][self::NEWSLETTER_TEMPLATE]);
     $container->setParameter($prefix . self::TEMPLATES . "_" . self::NOTIFICATIONS_TEMPLATE, $config[self::TEMPLATES][self::NOTIFICATIONS_TEMPLATE]);
     $container->setParameter($prefix . self::TEMPLATES . "_" . self::CONTENT_ITEM_TEMPLATE, $config[self::TEMPLATES][self::CONTENT_ITEM_TEMPLATE]);
     $container->setParameter($prefix . self::CAMPAIGN_PARAM_NAME, $config[self::CAMPAIGN_PARAM_NAME]);
     $container->setParameter($prefix . self::CAMPAIGN_KEYWORD_PARAM_NAME, $config[self::CAMPAIGN_KEYWORD_PARAM_NAME]);
     $container->setAlias($prefix . self::WEB_VIEW_SERVICE, $config[self::WEB_VIEW_SERVICE]);
     $container->setParameter($prefix . self::WEB_VIEW_RETENTION, $config[self::WEB_VIEW_RETENTION]);
     $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('services.yml');
 }
 /**
  * Loads the configs for Cache and puts data into the container.
  *
  * @param array            $configs   Array of configs
  * @param ContainerBuilder $container Container Object
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $configuration = new Configuration();
     $config = $this->processConfiguration($configuration, $configs);
     $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('services.yml');
     // Configure client services
     $first = isset($config['providers']['default']) ? 'default' : null;
     foreach ($config['providers'] as $name => $arguments) {
         if ($first === null) {
             $first = $name;
         }
         $factoryClass = $container->getDefinition($arguments['factory'])->getClass();
         $factoryClass::validate($arguments['options'], $name);
         // See if any option has a service reference
         $arguments['options'] = $this->findReferences($arguments['options']);
         $def = $container->register('cache.provider.' . $name, DummyAdapter::class);
         $def->setFactory([new Reference($arguments['factory']), 'createAdapter'])->addArgument($arguments['options']);
         $def->addTag('cache.provider');
         foreach ($arguments['aliases'] as $alias) {
             $container->setAlias($alias, 'cache.provider.' . $name);
         }
     }
     if ($first !== null) {
         $container->setAlias('cache', 'cache.provider.' . $first);
     }
 }
 public function process(ContainerBuilder $container)
 {
     $viewReferenceManagers = $container->findTaggedServiceIds('view_reference.manager');
     $viewReferenceRepositories = $container->findTaggedServiceIds('view_reference.repository');
     $connectors = [];
     $connectorType = $container->getParameter('victoire_view_reference.connector.type');
     foreach ($viewReferenceManagers as $id => $tags) {
         foreach ($tags as $attributes) {
             $connectors[$attributes['connector']]['manager'] = $id;
         }
     }
     foreach ($viewReferenceRepositories as $id => $tags) {
         foreach ($tags as $attributes) {
             $connectors[$attributes['connector']]['repository'] = $id;
         }
     }
     if (!isset($connectorType)) {
         throw new \Exception('No manager and repository found to have ' . $connectorType . ' connector.');
     }
     if (!isset($connectors[$connectorType]['manager'])) {
         throw new \Exception('No manager found to have ' . $connectorType . ' connector.');
     }
     if (!isset($connectors[$connectorType]['repository'])) {
         throw new \Exception('No repository found to have ' . $connectorType . ' connector.');
     }
     $container->setAlias('victoire_view_reference.connector.manager', $connectors[$connectorType]['manager']);
     $container->setAlias('victoire_view_reference.connector.repository', $connectors[$connectorType]['repository']);
 }
 /**
  * {@inheritDoc}
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config/'));
     $loader->load('services.xml');
     $processor = new Processor();
     $config = $processor->processConfiguration(new Configuration(), $configs);
     $collection = 'in_memory';
     switch (true) {
         case 'redis' === $config['persistence']:
             $loader->load('redis.xml');
             $collection = 'predis';
             $container->setParameter('qandidate.toggle.redis.namespace', $config['redis_namespace']);
             $container->setAlias('qandidate.toggle.redis.client', $config['redis_client']);
             break;
         case 'factory' === $config['persistence']:
             $collection = 'factory';
             $definition = new DefinitionDecorator('qandidate.toggle.collection.in_memory');
             $definition->setFactory(array(new Reference($config['collection_factory']['service_id']), $config['collection_factory']['method']));
             $container->setDefinition('qandidate.toggle.collection.factory', $definition);
             break;
     }
     $container->setAlias('qandidate.toggle.collection', 'qandidate.toggle.collection.' . $collection);
     $contextFactoryService = 'qandidate.toggle.user_context_factory';
     if (null !== $config['context_factory']) {
         $contextFactoryService = $config['context_factory'];
     }
     $container->setAlias('qandidate.toggle.context_factory', $contextFactoryService);
 }
 /**
  * {@inheritdoc}
  */
 public function setUp()
 {
     $this->container_builder = new ContainerBuilder();
     $this->container_builder->register('foo', 'My/Class');
     $this->container_builder->setAlias('bar', 'foo');
     $this->dumper = new PhpArrayDumper($this->container_builder);
 }
 /**
  * {@inheritdoc}
  */
 public function process(ContainerBuilder $container)
 {
     $container->getDefinition('jms_serializer.json_serialization_visitor')->addArgument($container->getDefinition('json_api.metadata_factory'))->addArgument('%json_api.show_version_info%')->setClass('Mango\\Bundle\\JsonApiBundle\\Serializer\\JsonApiSerializationVisitor');
     $container->setAlias('jms_serializer', 'json_api.serializer');
     $container->setAlias('serializer', 'json_api.serializer');
     $container->setAlias('fos_rest.serializer', 'json_api.serializer');
 }
 public function process(ContainerBuilder $container)
 {
     if ($container->has('fos_rest.serializer')) {
         $class = $container->getParameterBag()->resolveValue($container->findDefinition('fos_rest.serializer')->getClass());
         if (!is_subclass_of($class, 'FOS\\RestBundle\\Serializer\\Serializer')) {
             throw new \InvalidArgumentException(sprintf('"fos_rest.serializer" must implement FOS\\RestBundle\\Serializer\\Serializer (instance of "%s" given).', $class));
         }
         return;
     }
     if (!$container->has('serializer') && !$container->has('jms_serializer.serializer')) {
         throw new \InvalidArgumentException('Neither a service called "jms_serializer.serializer" nor "serializer" is available and no serializer is explicitly configured. You must either enable the JMSSerializerBundle, enable the FrameworkBundle serializer or configure a custom serializer.');
     }
     if ($container->has('serializer')) {
         $class = $container->getParameterBag()->resolveValue($container->findDefinition('serializer')->getClass());
         if (is_subclass_of($class, 'Symfony\\Component\\Serializer\\SerializerInterface')) {
             $container->setAlias('fos_rest.serializer', 'fos_rest.serializer.symfony');
             $container->removeDefinition('fos_rest.serializer.exception_wrapper_serialize_handler');
         } elseif (is_subclass_of($class, 'JMS\\Serializer\\SerializerInterface')) {
             $container->setAlias('fos_rest.serializer', 'fos_rest.serializer.jms');
         } elseif (is_subclass_of($class, 'FOS\\RestBundle\\Serializer\\Serializer')) {
             $container->setAlias('fos_rest.serializer', 'serializer');
         } else {
             throw new \InvalidArgumentException(sprintf('"fos_rest.serializer" must implement FOS\\RestBundle\\Serializer\\Serializer (instance of "%s" given).', $class));
         }
         return;
     } else {
         $container->removeDefinition('fos_rest.serializer.exception_wrapper_normalizer');
     }
     if ($container->has('jms_serializer.serializer')) {
         $container->setAlias('fos_rest.serializer', 'fos_rest.serializer.jms');
     } else {
         $container->removeDefinition('fos_rest.serializer.exception_wrapper_serialize_handler');
     }
 }
 public function process(ContainerBuilder $container)
 {
     // "query.max_query_count" is an array, it is only accessible
     // through "query" node and getting the "max_query_count" array
     // key with PHP.
     $query = $container->getParameter('liip_functional_test.query');
     if (null === $query['max_query_count']) {
         $container->removeDefinition('liip_functional_test.query.count_client');
         return;
     }
     if ($container->hasDefinition('test.client')) {
         // test.client is a definition.
         // Register it again as a private service to inject it as the parent
         $definition = $container->getDefinition('test.client');
         $definition->setPublic(false);
         $container->setDefinition('liip_functional_test.query.count_client.parent', $definition);
     } elseif ($container->hasAlias('test.client')) {
         // test.client is an alias.
         // Register a private alias for this service to inject it as the parent
         $container->setAlias('liip_functional_test.query.count_client.parent', new Alias((string) $container->getAlias('test.client'), false));
     } else {
         throw new \Exception('The LiipFunctionalTestBundle\'s Query Counter can only be used in the test environment.' . PHP_EOL . 'See https://github.com/liip/LiipFunctionalTestBundle#only-in-test-environment');
     }
     $container->setAlias('test.client', 'liip_functional_test.query.count_client');
 }
 /**
  * {@inheritdoc}
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $configuration = new Configuration();
     $config = $this->processConfiguration($configuration, $configs);
     $loader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('commands.xml');
     $loader->load('controllers.xml');
     $loader->load('form-handlers.xml');
     $loader->load('form-subscribers.xml');
     $loader->load('form-types.xml');
     $loader->load('forms.xml');
     $loader->load('handlers.xml');
     $loader->load('jobs.xml');
     $loader->load('services.xml');
     if (!in_array(strtolower($config['db_driver']), ['mongodb', 'orm'])) {
         throw new \InvalidArgumentException(sprintf('Invalid db driver "%s".', $config['db_driver']));
     }
     $loader->load('db_driver/' . sprintf('%s.xml', $config['db_driver']));
     $container->setAlias($this->getAlias() . '.manager.job_configuration', $config['job_configuration_manager']);
     $container->setAlias($this->getAlias() . '.manager.job_report', $config['job_report_manager']);
     $container->setParameter($this->getAlias() . '.model.job_configuration.class', $config['class']['model']['job_configuration']);
     $container->setParameter($this->getAlias() . '.model.job_report.class', $config['class']['model']['job_report']);
     $container->setParameter($this->getAlias() . '.queues', $config['queues']);
     $container->setParameter($this->getAlias() . '.reset.timeout', $config['reset']['timeout']);
 }
 /**
  * {@inheritdoc}
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $configuration = new Configuration();
     $config = $this->processConfiguration($configuration, $configs);
     $loader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $managerService = 'velikan_tube_crawler.entity_manager';
     $doctrineService = 'doctrine';
     $container->setParameter('velikan_tube_crawler.model_manager_name', $config['model_manager_name']);
     switch ($config['db_driver']) {
         case 'orm':
             $container->setParameter('velikan_tube_crawler.backend_type_orm', true);
             break;
         case 'mongodb':
             $container->setParameter('velikan_tube_crawler.backend_type_mongodb', true);
             $managerService = 'velikan_tube_crawler.document_manager';
             $doctrineService = 'doctrine_mongodb';
             break;
     }
     $loader->load(sprintf('%s.xml', $config['db_driver']));
     $definition = $container->getDefinition($managerService);
     $definition->setFactory([new Reference($doctrineService), 'getManager']);
     $container->setAlias('velikan_tube_crawler.tube_manager', $config['service']['tube_manager']);
     $container->setAlias('velikan_tube_crawler.video_manager', $config['service']['video_manager']);
     $this->setClassParameters($config, $container, ['tube_class' => 'velikan_tube_crawler.model.tube.class', 'video_class' => 'velikan_tube_crawler.model.video.class']);
     $loader->load('services.xml');
 }
 /**
  * {@inheritDoc}
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $configuration = new Configuration();
     $config = $this->processConfiguration($configuration, $configs);
     $loader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('services.xml');
     $loader->load('services_admin.xml');
     if ($config['rest']['search_activities'] == true) {
         $loader->load('services_search_activities_rest.xml');
     }
     $container->setParameter('mailgun.key', $config['key']);
     $container->setParameter('mailgun.domain', $config['domain']);
     $container->setParameter('redking_mail.default_from', $config['default_from']);
     $container->setParameter('redking_mail.auto_record_emails', $config['auto_record_emails']);
     $definitionDecorator = new DefinitionDecorator('swiftmailer.transport.eventdispatcher.abstract');
     $container->setDefinition('mailgun.swift_transport.eventdispatcher', $definitionDecorator);
     $container->getDefinition('mailgun.swift_transport.transport')->replaceArgument(0, new Reference('mailgun.swift_transport.eventdispatcher'));
     //set some alias
     $container->setAlias('mailgun', 'mailgun.swift_transport.transport');
     $container->setAlias('swiftmailer.mailer.transport.mailgun', 'mailgun.swift_transport.transport');
     $container->setAlias('swiftmailer.mailer.default.transport', 'swiftmailer.mailer.transport.mailgun');
     $delivery_enabled = true;
     try {
         $delivery_enabled = $container->getParameter('swiftmailer.mailer.default.delivery.enabled');
     } catch (InvalidArgumentException $e) {
     }
     $container->setParameter('redking_mail.delivery_enabled', $delivery_enabled);
 }
Example #18
0
 public function test_accessing_service_by_alias()
 {
     $this->containerBuilder->register('service', new SymfonyDefinition(\stdClass::class));
     $this->containerBuilder->setAlias('service_alias', 'service');
     $this->assertTrue($this->serviceContainer->definitionExists('service_alias'));
     $this->assertSame(\stdClass::class, $this->serviceContainer->definitionClass('service_alias'));
 }
 /**
  * {@inheritDoc}
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $configuration = new Configuration();
     $config = $this->processConfiguration($configuration, $configs);
     $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('services.yml');
     //        $container->setAlias('teckhouse_analytics.document_manager', $config['service']['document_manager']);
     $container->setAlias('teckhouse_analytics.collection_manager', $config['service']['collection_manager']);
     $container->setAlias('teckhouse_analytics.widget_manager', $config['service']['widget_manager']);
     //        $menuDefinition = $container->getDefinition(
     //                'teckhouse_analytics.menu_builder'
     //        );
     $wdigetManagerDefinition = $container->getDefinition('teckhouse_analytics.widget_manager.default');
     foreach ($config['widgets'] as $key => $widget) {
         $widgetTypes = $container->getParameter('teckhouse_analytics.widget.types');
         if (!isset($widgetTypes[$widget['type']])) {
             throw new \Exception("Widget type not allowed");
         }
         $collections = array();
         foreach ($widget['collections'] as $collectionName => $value) {
             $collections[] = $collectionName;
         }
         // Register Widget
         $wdigetManagerDefinition->addMethodCall('setWidget', array($key, $widget['label'], $widget['type'], $collections));
         //            // Register Menu call
         //            $menuDefinition->addMethodCall('addMenuWidgetItem', array($key, $widget["label"]));
     }
     //        $widgetManager = $container->get('teckhouse_analytics.widget_manager');
     //        foreach($config['widget'] as $key => $widget ){
     //            $class = $container->get("teckhouse_analytics.widget.".$widget['type']);
     //            print_r($class); die;
     //            $widgetManager->setWidget($key);
     //        }
 }
 /**
  * {@inheritdoc}
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $configuration = new Configuration();
     $config = $this->processConfiguration($configuration, $configs);
     $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('services.yml');
     foreach ($config['connections'] as $name => $values) {
         $def = new Definition();
         $def->setClass($container->getParameter('agentsib_sphinx.connection.class'));
         $params = array('host' => $values['host'], 'port' => $values['port']);
         if ($values['socket']) {
             $params['socket'] = $values['socket'];
         }
         $def->setArguments(array($name, $values['driver'], $params));
         $def->addMethodCall('addLogger', array(new Reference('agentsib_sphinx.logger')));
         $container->setDefinition(sprintf('agentsib_sphinx.%s.connection', $name), $def);
         $helperDef = new DefinitionDecorator('agentsib_sphinx.factory.helper');
         $helperDef->setFactoryClass($container->getParameter('agentsib_sphinx.helper.class'));
         $helperDef->setFactoryMethod('create');
         $helperDef->addArgument(new Reference(sprintf('agentsib_sphinx.%s.connection', $name)));
         $helperDef->setPublic(true);
         $container->setDefinition(sprintf('agentsib_sphinx.%s.helper', $name), $helperDef);
         if ($name == $config['default_connection']) {
             $container->setAlias('agentsib_sphinx.connection', sprintf('agentsib_sphinx.%s.connection', $name));
             $container->setAlias('agentsib_sphinx.helper', sprintf('agentsib_sphinx.%s.helper', $name));
         }
     }
 }
 /**
  * @expectedException \Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException
  */
 public function testAliasCircularReference()
 {
     $container = new ContainerBuilder();
     $container->setAlias('bar', 'foo');
     $container->setAlias('foo', 'bar');
     $this->process($container);
 }
 /**
  * {@inheritdoc}
  */
 public function build($user)
 {
     $dataTransformer = class_exists($this->dataTransformer) ? new Definition($this->dataTransformer) : new Reference($this->dataTransformer);
     $this->container->setDefinition('bengor.user.application.data_transformer.' . $user . '_dto', $dataTransformer)->setPublic(false);
     $this->container->setAlias('bengor_user.' . $user . '.dto_data_transformer', 'bengor.user.application.data_transformer.' . $user . '_dto');
     return $this->container;
 }
Example #23
0
 /**
  * Loads the Swift Mailer configuration.
  *
  * Usage example:
  *
  *      <swiftmailer:config transport="gmail">
  *        <swiftmailer:username>fabien</swift:username>
  *        <swiftmailer:password>xxxxx</swift:password>
  *        <swiftmailer:spool path="/path/to/spool/" />
  *      </swiftmailer:config>
  *
  * @param array            $config    An array of configuration settings
  * @param ContainerBuilder $container A ContainerBuilder instance
  */
 public function configLoad(array $config, ContainerBuilder $container)
 {
     if (!$container->hasDefinition('swiftmailer.mailer')) {
         $loader = new XmlFileLoader($container, __DIR__ . '/../Resources/config');
         $loader->load('swiftmailer.xml');
         $container->setAlias('mailer', 'swiftmailer.mailer');
     }
     $r = new \ReflectionClass('Swift_Message');
     $container->setParameter('swiftmailer.base_dir', dirname(dirname(dirname($r->getFilename()))));
     $transport = $container->getParameter('swiftmailer.transport.name');
     if (array_key_exists('transport', $config)) {
         if (null === $config['transport']) {
             $transport = 'null';
         } elseif ('gmail' === $config['transport']) {
             $config['encryption'] = 'ssl';
             $config['auth_mode'] = 'login';
             $config['host'] = 'smtp.gmail.com';
             $transport = 'smtp';
         } else {
             $transport = $config['transport'];
         }
         $container->setParameter('swiftmailer.transport.name', $transport);
     }
     $container->setAlias('swiftmailer.transport', 'swiftmailer.transport.' . $transport);
     if (isset($config['encryption']) && 'ssl' === $config['encryption'] && !isset($config['port'])) {
         $config['port'] = 465;
     }
     foreach (array('encryption', 'port', 'host', 'username', 'password', 'auth_mode') as $key) {
         if (isset($config[$key])) {
             $container->setParameter('swiftmailer.transport.' . $transport . '.' . $key, $config[$key]);
         }
     }
     // spool?
     if (isset($config['spool'])) {
         $type = isset($config['spool']['type']) ? $config['spool']['type'] : 'file';
         $container->setAlias('swiftmailer.transport.real', 'swiftmailer.transport.' . $transport);
         $container->setAlias('swiftmailer.transport', 'swiftmailer.transport.spool');
         $container->setAlias('swiftmailer.spool', 'swiftmailer.spool.' . $type);
         foreach (array('path') as $key) {
             if (isset($config['spool'][$key])) {
                 $container->setParameter('swiftmailer.spool.' . $type . '.' . $key, $config['spool'][$key]);
             }
         }
     }
     if (array_key_exists('delivery-address', $config)) {
         $config['delivery_address'] = $config['delivery-address'];
     }
     if (isset($config['delivery_address']) && $config['delivery_address']) {
         $container->setParameter('swiftmailer.single_address', $config['delivery_address']);
         $container->findDefinition('swiftmailer.transport')->addMethodCall('registerPlugin', array(new Reference('swiftmailer.plugin.redirecting')));
     } else {
         $container->setParameter('swiftmailer.single_address', null);
     }
     if (array_key_exists('disable-delivery', $config)) {
         $config['disable_delivery'] = $config['disable-delivery'];
     }
     if (isset($config['disable_delivery']) && $config['disable_delivery']) {
         $container->findDefinition('swiftmailer.transport')->addMethodCall('registerPlugin', array(new Reference('swiftmailer.plugin.blackhole')));
     }
 }
 /**
  * {@inheritDoc}
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $configuration = new Configuration();
     $config = $this->processConfiguration($configuration, $configs);
     $loader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('controllers.xml');
     $loader->load('form/gallery.xml');
     $loader->load('form/image.xml');
     $loader->load('image/config-validator.xml');
     $loader->load('image/services.xml');
     $loader->load('services.xml');
     $loader->load('templating.xml');
     $loader->load('token.xml');
     if (!in_array(strtolower($config['db_driver']), array('mongodb', 'orm'))) {
         throw new \InvalidArgumentException(sprintf('Invalid db driver "%s".', $config['db_driver']));
     }
     $loader->load('db_driver/' . sprintf('%s.xml', $config['db_driver']));
     $container->setAlias($this->getAlias() . '.manager.image', $config['image_manager']);
     $container->setAlias($this->getAlias() . '.image.cropper', $config['image']['cropper']);
     $container->setAlias($this->getAlias() . '.image.resizer', $config['image']['resizer']);
     $container->setParameter($this->getAlias() . '.model.image.class', $config['class']['model']['image']);
     $container->setParameter($this->getAlias() . '.token.key', $config['token']['key']);
     $container->setParameter($this->getAlias() . '.no_image', $config['image']['no_image']);
     $container->setParameter($this->getAlias() . '.resizer_background_color', $config['image']['resizer_background_color']);
     $container->setParameter($this->getAlias() . '.resizer_background_color_alpha', $config['image']['resizer_background_color_alpha']);
     if ($rootDir = $config['filesystem']['root_dir']) {
         $this->setFilesystemRootDir($rootDir, $container);
     }
     $this->setImageConfigs($config['image'], $container);
 }
 /**
  * Load configuration.
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $processor = new Processor();
     $configuration = new Configuration();
     $config = $processor->processConfiguration($configuration, $configs);
     $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('services.xml');
     $loader->load('controllers.xml');
     if (isset($config['serializer'])) {
         $container->setAlias('fos_js_routing.serializer', new Alias($config['serializer'], false));
     } else {
         $loader->load('serializer.xml');
     }
     $container->setAlias('fos_js_routing.router', new Alias($config['router'], false));
     $container->getDefinition('fos_js_routing.extractor')->replaceArgument(1, $config['routes_to_expose']);
     if (isset($config['request_context_base_url'])) {
         $container->setParameter('fos_js_routing.request_context_base_url', $config['request_context_base_url']);
     }
     if (isset($config['cache_control'])) {
         $config['cache_control']['enabled'] = true;
     } else {
         $config['cache_control'] = array('enabled' => false);
     }
     $container->setParameter('fos_js_routing.cache_control', $config['cache_control']);
 }
 public function process(ContainerBuilder $container)
 {
     if (false === $container->hasDefinition('twig')) {
         return;
     }
     // register additional template loaders
     $loaderIds = $container->findTaggedServiceIds('twig.loader');
     if (count($loaderIds) === 0) {
         throw new LogicException('No twig loaders found. You need to tag at least one loader with "twig.loader"');
     }
     if (count($loaderIds) === 1) {
         $container->setAlias('twig.loader', key($loaderIds));
     } else {
         $chainLoader = $container->getDefinition('twig.loader.chain');
         $prioritizedLoaders = array();
         foreach ($loaderIds as $id => $tags) {
             foreach ($tags as $tag) {
                 $priority = isset($tag['priority']) ? $tag['priority'] : 0;
                 $prioritizedLoaders[$priority][] = $id;
             }
         }
         krsort($prioritizedLoaders);
         foreach ($prioritizedLoaders as $loaders) {
             foreach ($loaders as $loader) {
                 $chainLoader->addMethodCall('addLoader', array(new Reference($loader)));
             }
         }
         $container->setAlias('twig.loader', 'twig.loader.chain');
     }
 }
 /**
  * @param array            $configs
  * @param ContainerBuilder $container
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $configuration = new Configuration();
     $config = $this->processConfiguration($configuration, $configs);
     $this->copyValuesFromParentToProject('locales', $config);
     $this->copyValuesFromParentToProject('domains', $config);
     $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('services.yml');
     if ($config['auto_add_assets']) {
         $loader->load('autoAdd.yml');
     }
     $container->setParameter('translation.toolbar.allow_edit', $config['allow_edit']);
     /*
      * Set an alias for the adapter
      */
     $adapter = $config['http_adapter'];
     if ($adapter === 'guzzle5' || $adapter === 'guzzle6') {
         //Use one of our adapters
         $adapter = 'happyr.translation.http_adapter.' . $adapter;
     }
     $container->setAlias('happyr.translation.http_adapter', $adapter);
     $targetDir = rtrim($config['target_dir'], '/');
     $container->findDefinition('happyr.translation.filesystem')->replaceArgument(2, $targetDir);
     /*
      * Set alias for the translation service
      */
     $container->setAlias('happyr.translation', 'happyr.translation.service.' . $config['translation_service']);
     $container->findDefinition('happyr.translation.service.loco')->replaceArgument(2, $config['projects'])->replaceArgument(3, $targetDir);
 }
 /**
  * {@inheritDoc}
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $configuration = new Configuration($container->getParameter('kernel.debug'));
     $config = $this->processConfiguration($configuration, $configs);
     $loader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     if (true === $container->getParameter('kernel.debug')) {
         $loader->load('logger.xml');
     }
     if (isset($config['connections'])) {
         if (!isset($config['default_connection'])) {
             $keys = array_keys($config['connections']);
             $config['default_connection'] = reset($keys);
         }
         $loader->load('connection.xml');
         foreach ($config['connections'] as $name => $connection) {
             $arguments = array_merge(array($name), array_values($connection));
             $logger = new Reference('mop_arangodb.data_collector');
             if (true === $container->getParameter('kernel.debug')) {
                 $container->getDefinition('mop_arangodb.connection_factory')->addMethodCall('addLogger', array($logger));
             }
             $container->setDefinition('mop_arangodb.connections.' . $name, new DefinitionDecorator('mop_arangodb.connection'))->setArguments($arguments);
         }
     }
     if ($config['default_connection']) {
         $container->setAlias('mop_arangodb.default_connection', 'mop_arangodb.connections.' . $config['default_connection']);
     }
     if (isset($config['fos'])) {
         $container->setParameter('mop_arangodb.fos.collection', $config['fos']['collection']);
         $container->setAlias('mop_arangodb.fos.connection', 'mop_arangodb.connections.' . $config['fos']['connection']);
         $loader->load('fos.xml');
     }
 }
 /**
  * {@inheritdoc}
  */
 public function process(ContainerBuilder $container)
 {
     $analysis = $container->getParameter('es.analysis');
     $connections = $container->getParameter('es.connections');
     $managers = $container->getParameter('es.managers');
     $collector = $container->get('es.metadata_collector');
     foreach ($managers as $managerName => $manager) {
         if (!isset($connections[$manager['connection']])) {
             throw new InvalidConfigurationException('There is no ES connection with the name: ' . $manager['connection']);
         }
         $managerName = strtolower($managerName);
         $connection = $connections[$manager['connection']];
         $managerDefinition = new Definition($container->getParameter('es.manager.class'), [$managerName, $connection, $analysis, $manager]);
         $managerDefinition->setFactory([new Reference('es.manager_factory'), 'createManager']);
         $container->setDefinition(sprintf('es.manager.%s', $managerName), $managerDefinition);
         // Make es.manager.default as es.manager service.
         if ($managerName === 'default') {
             $container->setAlias('es.manager', 'es.manager.default');
         }
         $mappings = $collector->getMappings($manager['mappings']);
         // Building repository services.
         foreach ($mappings as $repositoryType => $repositoryDetails) {
             $repositoryDefinition = new Definition($container->getParameter('es.repository.class'), [$repositoryDetails['bundle'] . ':' . $repositoryDetails['class']]);
             $repositoryDefinition->setFactory([new Reference(sprintf('es.manager.%s', $managerName)), 'getRepository']);
             $repositoryId = sprintf('es.manager.%s.%s', $managerName, $repositoryType);
             if (strtolower(substr($repositoryType, -8)) === 'document') {
                 $container->setAlias(sprintf('es.manager.%s.%s', $managerName, substr($repositoryType, 0, strlen($repositoryType) - 8)), $repositoryId);
             }
             $container->setDefinition($repositoryId, $repositoryDefinition);
         }
     }
 }
 /**
  * Load balancer service
  *
  * @param array            $config
  * @param ContainerBuilder $container
  */
 protected function loadBalancer(array $config, ContainerBuilder $container)
 {
     $container->register('meup_geo_location.balancer.random_strategy', 'Meup\\Bundle\\GeoLocationBundle\\Domain\\BalancingStrategy\\RandomStrategy');
     $container->setAlias('meup_geo_location.balancer.strategy', $config['balancer']['strategy']);
     $container->register('meup_geo_location.balancer_factory.default', 'Meup\\Bundle\\GeoLocationBundle\\Domain\\BalancerFactory')->addArgument('Meup\\Bundle\\GeoLocationBundle\\Domain\\Balancer')->addArgument(new Reference('meup_geo_location.balancer.strategy'));
     $container->setAlias('meup_geo_location.balancer_factory', $config['balancer']['factory']);
 }