If you directly call setArguments() keep in mind that you must follow
certain conventions when you want to overwrite the arguments of the
parent definition, otherwise your arguments will only be appended.
public replaceArgument ( integer $index, mixed $value ) : |
||
$index | integer | |
$value | mixed | |
return | the current instance |
private function createConverter($name, array $config, ContainerBuilder $container) { $environment = new DefinitionDecorator($config['environment']); $environment->setPublic(false); $environment->setClass($container->getDefinition($config['environment'])->getClass()); $environment->addMethodCall('mergeConfig', [$config['config']]); $environment->addTag('webuni_commonmark.environment.extensions', $config['extensions']); // $environment->addTag('webuni_commonmark.environment', ['parent' => $config['environment'], 'extensions' => [$config['extensions']]); $environmentName = 'webuni_commonmark.' . $name . '_environment' . $config['environment']; $container->setDefinition($environmentName, $environment); $parser = new DefinitionDecorator($config['parser']); $parser->setPublic(false); $parser->setClass($container->getDefinition($config['parser'])->getClass()); $parser->replaceArgument(0, new Reference($environmentName)); $renderer = new DefinitionDecorator($config['renderer']); $renderer->setPublic(false); $renderer->setClass($container->getDefinition($config['renderer'])->getClass()); $renderer->replaceArgument(0, new Reference($environmentName)); $converter = new DefinitionDecorator($config['converter']); $converter->setPublic(true); $converter->setClass($container->getDefinition($config['converter'])->getClass()); $converter->replaceArgument(0, $parser); $converter->replaceArgument(1, $renderer); $converterName = 'webuni_commonmark.' . $name . '_converter'; $container->setDefinition($converterName, $converter); return $converterName; }
/** * {@inheritDoc} */ public function create(ContainerBuilder $container, $resolverName, array $config) { $awsS3ClientId = 'liip_imagine.cache.resolver.'.$resolverName.'.client'; $awsS3ClientDefinition = new Definition('Aws\S3\S3Client'); if (method_exists($awsS3ClientDefinition, 'setFactory')) { $awsS3ClientDefinition->setFactory(array('Aws\S3\S3Client', 'factory')); } else { // to be removed when dependency on Symfony DependencyInjection is bumped to 2.6 $awsS3ClientDefinition->setFactoryClass('Aws\S3\S3Client'); $awsS3ClientDefinition->setFactoryMethod('factory'); } $awsS3ClientDefinition->addArgument($config['client_config']); $container->setDefinition($awsS3ClientId, $awsS3ClientDefinition); $resolverDefinition = new DefinitionDecorator('liip_imagine.cache.resolver.prototype.aws_s3'); $resolverDefinition->replaceArgument(0, new Reference($awsS3ClientId)); $resolverDefinition->replaceArgument(1, $config['bucket']); $resolverDefinition->replaceArgument(2, $config['acl']); $resolverDefinition->replaceArgument(3, array_replace($config['url_options'], $config['get_options'])); $resolverDefinition->replaceArgument(4, $config['put_options']); $resolverId = 'liip_imagine.cache.resolver.'.$resolverName; $container->setDefinition($resolverId, $resolverDefinition); if (isset($config['cache_prefix'])) { $resolverDefinition->addMethodCall('setCachePrefix', array($config['cache_prefix'])); } if ($config['proxies']) { $proxiedResolverId = 'liip_imagine.cache.resolver.'.$resolverName.'.proxied'; $container->setDefinition($proxiedResolverId, $resolverDefinition); $proxyResolverDefinition = new DefinitionDecorator('liip_imagine.cache.resolver.prototype.proxy'); $proxyResolverDefinition->replaceArgument(0, new Reference($proxiedResolverId)); $proxyResolverDefinition->replaceArgument(1, $config['proxies']); $container->setDefinition($resolverId, $proxyResolverDefinition); } if ($config['cache']) { $cachedResolverId = 'liip_imagine.cache.resolver.'.$resolverName.'.cached'; $container->setDefinition($cachedResolverId, $container->getDefinition($resolverId)); $cacheResolverDefinition = new DefinitionDecorator('liip_imagine.cache.resolver.prototype.cache'); $cacheResolverDefinition->replaceArgument(0, new Reference($config['cache'])); $cacheResolverDefinition->replaceArgument(1, new Reference($cachedResolverId)); $container->setDefinition($resolverId, $cacheResolverDefinition); } $container->getDefinition($resolverId)->addTag('liip_imagine.cache.resolver', array( 'resolver' => $resolverName, )); return $resolverId; }
/** * {@inheritDoc} */ protected function addApis(Definition $paymentDefinition, ContainerBuilder $container, $contextName, array $config) { $publishableKey = new DefinitionDecorator('payum.stripe.keys.prototype'); $publishableKey->replaceArgument(0, $config['publishable_key']); $publishableKey->replaceArgument(1, $config['secret_key']); $publishableKey->setPublic(true); $publishableKeyId = 'payum.context.' . $contextName . '.keys'; $container->setDefinition($publishableKeyId, $publishableKey); $paymentDefinition->addMethodCall('addApi', array(new Reference($publishableKeyId))); }
protected function createListener(ContainerBuilder $container, $id, $config, $userProvider) { $listenerId = 'security.authentication.listener.form'; $listener = new DefinitionDecorator($listenerId); $listener->replaceArgument(4, $id); $listener->replaceArgument(5, $config); $listenerId .= '.' . $id; $container->setDefinition($listenerId, $listener); return $listenerId; }
/** * {@inheritDoc} */ public function create(ContainerBuilder $container, $loaderName, array $config) { $loaderDefinition = new DefinitionDecorator('liip_imagine.binary.loader.prototype.stream'); $loaderDefinition->replaceArgument(0, $config['wrapper']); $loaderDefinition->replaceArgument(1, $config['context']); $loaderDefinition->addTag('liip_imagine.binary.loader', array('loader' => $loaderName)); $loaderId = 'liip_imagine.binary.loader.' . $loaderName; $container->setDefinition($loaderId, $loaderDefinition); return $loaderId; }
/** * {@inheritdoc} */ public function create(ContainerBuilder $container, $resolverName, array $config) { $resolverDefinition = new DefinitionDecorator('liip_imagine.cache.resolver.prototype.web_path'); $resolverDefinition->replaceArgument(2, $config['web_root']); $resolverDefinition->replaceArgument(3, $config['cache_prefix']); $resolverDefinition->addTag('liip_imagine.cache.resolver', array('resolver' => $resolverName)); $resolverId = 'liip_imagine.cache.resolver.' . $resolverName; $container->setDefinition($resolverId, $resolverDefinition); return $resolverId; }
/** * {@inheritDoc} */ protected function addApis(Definition $paymentDefinition, ContainerBuilder $container, $contextName, array $config) { $apiDefinition = new DefinitionDecorator('payum.authorize_net_aim.api.prototype'); $apiDefinition->replaceArgument(0, $config['login_id']); $apiDefinition->replaceArgument(1, $config['transaction_key']); $apiDefinition->addMethodCall('setSandbox', array($config['sandbox'])); $apiId = 'payum.context.' . $contextName . '.api'; $container->setDefinition($apiId, $apiDefinition); $paymentDefinition->addMethodCall('addApi', array(new Reference($apiId))); }
/** * {@inheritdoc} */ protected function createStorage(ContainerBuilder $container, $modelClass, array $config) { $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../../../Resources/config/storage')); $loader->load('filesystem.xml'); $storage = new DefinitionDecorator('payum.storage.filesystem.prototype'); $storage->setPublic(true); $storage->replaceArgument(0, $config['storage_dir']); $storage->replaceArgument(1, $modelClass); $storage->replaceArgument(2, $config['id_property']); return $storage; }
/** * {@inheritdoc} */ public function create(ContainerBuilder $container, $resolverName, array $config) { $resolverDefinition = new DefinitionDecorator('liip_imagine.cache.resolver.prototype.flysystem'); $resolverDefinition->replaceArgument(0, new Reference($config['filesystem_service'])); $resolverDefinition->replaceArgument(2, $config['root_url']); $resolverDefinition->replaceArgument(3, $config['cache_prefix']); $resolverDefinition->addTag('liip_imagine.cache.resolver', array('resolver' => $resolverName)); $resolverId = 'liip_imagine.cache.resolver.' . $resolverName; $container->setDefinition($resolverId, $resolverDefinition); return $resolverId; }
protected function createListener($container, $id, $config, $userProvider) { $listenerId = $this->getListenerId(); $listener = new DefinitionDecorator($listenerId); $listener->replaceArgument(4, $id); $listener->replaceArgument(5, new Reference($this->createAuthenticationSuccessHandler($container, $id, $config))); $listener->replaceArgument(6, new Reference($this->createAuthenticationFailureHandler($container, $id, $config))); $listener->replaceArgument(8, array_intersect_key($config, $this->options)); $listenerId .= '.' . $id; $container->setDefinition($listenerId, $listener); return $listenerId; }
protected function createListener($container, $id, $config, $userProvider, $entryPoint) { $listenerId = 'security.authentication.listener.shibboleth'; $listener = new DefinitionDecorator($listenerId); $listener->replaceArgument(3, $id); if ($entryPoint) { $listener->replaceArgument(4, new Reference($entryPoint)); } $listenerId .= '.' . $id; $container->setDefinition($listenerId, $listener); return $listenerId; }
/** * @inheritdoc */ public function process(ContainerBuilder $container) { $definitions = array(); $servicesIds = $container->findTaggedServiceIds('pmd_state_machine.token_configurable'); foreach ($servicesIds as $serviceId => $tag) { $group = isset($tag[0]['group']) ? $tag[0]['group'] : null; $type = isset($tag[0]['type']) ? $tag[0]['type'] : null; if (!isset($group) || !isset($type)) { throw new \InvalidArgumentException(sprintf('Services tagged %s must have group and type defined', 'pmd_state_machine.token_configurable')); } $serviceDefinition = $container->getDefinition($serviceId); $optionsId = sprintf('pmd_state_machine.behavior.%s_%s_options', $group, $type); $optionsReference = new Reference($optionsId, ContainerInterface::NULL_ON_INVALID_REFERENCE); // Configure options resolver $resolverId = sprintf('pmd_state_machine.behavior.%s_%s_resolver', $group, $type); $resolverReference = new Reference($resolverId); $resolverDefinition = new DefinitionDecorator('pmd_state_machine.behavior_resolver.token_options_resolver'); $resolverDefinition->replaceArgument(0, $optionsReference); // Configure configurable decorator $configId = sprintf('pmd_state_machine.behavior.%s_%s_configurator', $group, $type); $configDefinition = new DefinitionDecorator('pmd_state_machine.behavior.token_configurable_configurator'); $configDefinition->replaceArgument(0, $resolverReference); $serviceDefinition->setConfigurator(array(new Reference($configId, ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, false), 'configure')); $definitions[$resolverId] = $resolverDefinition; $definitions[$configId] = $configDefinition; } $container->addDefinitions($definitions); }
/** * @param ContainerBuilder $container * * @throws \InvalidArgumentException */ public function process(ContainerBuilder $container) { $config = $container->getExtensionConfig('elastica')[0]; $jsonLdFrameLoader = $container->get('nemrod.elastica.jsonld.frame.loader.filesystem'); $confManager = $container->getDefinition('nemrod.elastica.config_manager'); $filiationBuilder = $container->get('nemrod.filiation.builder'); $jsonLdFrameLoader->setFiliationBuilder($filiationBuilder); foreach ($config['indexes'] as $name => $index) { $indexName = isset($index['index_name']) ? $index['index_name'] : $name; foreach ($index['types'] as $typeName => $settings) { $jsonLdFrameLoader->setEsIndex($name); $frame = $jsonLdFrameLoader->load($settings['frame'], null, true, true, true); $type = !empty($frame['@type']) ? $frame['@type'] : $settings['type']; if (empty($type)) { throw \Exception("You must provide a RDF Type."); } //type $typeId = 'nemrod.elastica.type.' . $name . '.' . $typeName; $indexId = 'nemrod.elastica.index.' . $name; $typeDef = new DefinitionDecorator('nemrod.elastica.type.abstract'); $typeDef->replaceArgument(0, $type); $typeDef->setFactory(array(new Reference($indexId), 'getType')); $typeDef->addTag('nemrod.elastica.type', array('index' => $name, 'name' => $typeName, 'type' => $type)); $container->setDefinition($typeId, $typeDef); //registering config to configManager $confManager->addMethodCall('setTypeConfigurationArray', array($name, $typeName, $type, $frame)); } } }
/** * {@inheritDoc} */ public function process(ContainerBuilder $container) { foreach ($container->findTaggedServiceIds('payum.storage_extension') as $id => $tagAttributes) { foreach ($tagAttributes as $attributes) { $paymentIds = array(); if (isset($attributes['all']) && $attributes['all']) { $paymentIds = array_merge($paymentIds, $this->findAllPaymentIds($container)); } if (isset($attributes['factory']) && $attributes['factory']) { $paymentIds = array_merge($paymentIds, $this->findPaymentIdsByFactory($container, $attributes['factory'])); } if (isset($attributes['context']) && $attributes['context']) { $paymentIds = array_merge($paymentIds, $this->findPaymentIdsByContext($container, $attributes['context'])); } $paymentIds = array_filter(array_unique($paymentIds)); foreach ($paymentIds as $paymentId) { $storageExtension = new DefinitionDecorator('payum.extension.storage.prototype'); $storageExtension->replaceArgument(0, new Reference($id)); $storageExtension->setPublic(false); if (false !== strpos($id, '.storage.')) { $storageExtensionId = str_replace('.storage.', '.extension.storage.', $id); } else { throw new LogicException(sprintf('In order to add storage to extension the storage %id has to contains ".storage." inside.', $id)); } $container->setDefinition($storageExtensionId, $storageExtension); $payment = $container->getDefinition($paymentId); $payment->addMethodCall('addExtension', array(new Reference($storageExtensionId), isset($attributes['prepend']) && $attributes['prepend'])); } } } }
/** * @inheritdoc */ public function process(ContainerBuilder $container) { if (!$container->hasDefinition('qimnet.crud.configuration.repository')) { return; } $repository = $container->getDefinition('qimnet.crud.configuration.repository'); $defaults = $container->getParameter('qimnet.crud.defaults'); foreach ($container->getParameter('qimnet.crud.services') as $name => $configuration) { $options = $configuration['options'] + array('name' => $name) + $defaults['options']; $configuration = $configuration + $defaults; $serviceId = 'qimnet.crud.configuration.' . strtolower($name); $definition = new DefinitionDecorator('qimnet.crud.configuration'); foreach (array('object_manager_factory', 'security_context_factory', 'path_generator_factory') as $index => $key) { if ($configuration[$key]) { $definition->replaceArgument($index, new Reference($configuration[$key])); } } $definition->addArgument($options); if ($configuration['class']) { $definition->setClass($configuration['class']); } $definition->addTag('qimnet.crud.configuration', array('alias' => $name, 'object_class' => $options['object_class'], 'worker' => $configuration['worker'], 'redirection_manager' => $configuration['redirection_manager'])); $container->setDefinition($serviceId, $definition); } $taggedServices = $container->findTaggedServiceIds('qimnet.crud.configuration'); foreach ($taggedServices as $id => $attributes) { $repository->addMethodCall('add', array($attributes[0]['alias'], $attributes[0]['object_class'], $id, $attributes[0]['worker'], $attributes[0]['redirection_manager'])); } }
/** * {@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'); if (array_key_exists('servers', $config)) { foreach ($config['servers'] as $id => $server) { $container->setParameter('json_rpc.serializer.class', $server['serializer']); $container->setParameter('json_rpc.reflection.class', $server['reflection']); $definition = new DefinitionDecorator('json_rpc.server'); $definition->addTag('json_rpc.servers', array('resource' => $id)); foreach ($server['services'] as $service) { $definition->addMethodCall('addService', array($service['namespace'], $service['class'])); } $container->setDefinition(sprintf('json_rpc.server.%s', $id), $definition); $definition = new DefinitionDecorator('json_rpc.transport.internal'); $definition->addTag('json_rpc.transports'); $definition->replaceArgument(0, new Reference(sprintf('json_rpc.server.%s', $id))); $container->setDefinition(sprintf('json_rpc.transport.internal.%s', $id), $definition); $definition = new DefinitionDecorator('json_rpc.client.internal'); $definition->addTag('json_rpc.clients.internal'); $definition->replaceArgument(0, new Reference(sprintf('json_rpc.transport.internal.%s', $id))); $container->setDefinition(sprintf('json_rpc.client.internal.%s', $id), $definition); } } }
/** * @expectedException \OutOfBoundsException */ public function testGetArgumentShouldCheckBounds() { $def = new DefinitionDecorator('foo'); $def->setArguments(array(0 => 'foo')); $def->replaceArgument(0, 'foo'); $def->getArgument(1); }
/** * Returns a definition for an asset package. * * @param ContainerBuilder $container Container * @param array $httpUrls SSL assets_base_urls * @param array $sslUrls assets_base_urls * @param string $rootDir Directory where to look for reved assets * @param string $summaryFile Grunt filerev summary file * @param string $cacheDir Kernel cache dir * @param bool $debug Debug mode? * @param string $name Package name * * @return DefinitionDecorator */ private function createPackageDefinition(ContainerBuilder $container, array $httpUrls, array $sslUrls, $rootDir, $summaryFile, $cacheDir, $debug, $name = null) { if (!$httpUrls) { $package = new DefinitionDecorator('grunt.filerev.templating.asset.path_package'); $package->setPublic(false)->setScope('request')->replaceArgument(1, $rootDir)->replaceArgument(2, $summaryFile)->replaceArgument(3, $cacheDir)->replaceArgument(4, $debug); return $package; } if ($httpUrls == $sslUrls) { $package = new DefinitionDecorator('grunt.filerev.templating.asset.url_package'); $package->setPublic(false)->replaceArgument(0, $sslUrls)->replaceArgument(1, $rootDir)->replaceArgument(2, $summaryFile)->replaceArgument(3, $cacheDir)->replaceArgument(4, $debug); return $package; } $prefix = $name ? 'templating.asset.package.' . $name : 'templating.asset.default_package'; $httpPackage = new DefinitionDecorator('grunt.filerev.templating.asset.url_package'); $httpPackage->replaceArgument(0, $httpUrls)->replaceArgument(1, $rootDir)->replaceArgument(2, $summaryFile)->replaceArgument(3, $cacheDir)->replaceArgument(4, $debug); $container->setDefinition($prefix . '.http', $httpPackage); if ($sslUrls) { $sslPackage = new DefinitionDecorator('grunt.filerev.templating.asset.url_package'); $sslPackage->replaceArgument(0, $sslUrls)->replaceArgument(1, $rootDir)->replaceArgument(2, $summaryFile)->replaceArgument(3, $cacheDir)->replaceArgument(4, $debug); } else { $sslPackage = new DefinitionDecorator('grunt.filerev.templating.asset.path_package'); $sslPackage->setScope('request')->replaceArgument(1, $rootDir)->replaceArgument(2, $summaryFile)->replaceArgument(3, $cacheDir)->replaceArgument(4, $debug); } $container->setDefinition($prefix . '.ssl', $sslPackage); $package = new DefinitionDecorator('templating.asset.request_aware_package'); $package->setPublic(false)->setScope('request')->replaceArgument(1, $prefix . '.http')->replaceArgument(2, $prefix . '.ssl'); return $package; }
/** * Subclasses must return the id of a service which implements the * AuthenticationProviderInterface. * * @param ContainerBuilder $container * @param string $id The unique id of the firewall * @param array $config The options array for this listener * @param string $userProviderId The id of the user provider * * @return string never null, the id of the authentication provider */ protected function createAuthProvider(ContainerBuilder $container, $id, $config, $userProviderId) { $providerId = 'security.authentication.provider.appsco.' . $id; $provider = new DefinitionDecorator('security.authentication.provider.appsco'); $provider->replaceArgument(0, new Reference($userProviderId)); $container->setDefinition($providerId, $provider); return $providerId; }
public function process(ContainerBuilder $container) { if (!$container->hasDefinition('idci_notification.manager.notification')) { return; } $definition = $container->getDefinition('idci_notification.manager.notification'); $taggedServices = $container->findTaggedServiceIds('idci_notification.notifier'); $notifiers = array(); $notifiersConfiguration = $container->getParameter('idci_notification.notifiers.configuration'); // In order to declare untagged 'form.type' directly to the form.extension $formExtensionDefinition = $container->getDefinition('form.extension'); foreach ($taggedServices as $id => $tagAttributes) { foreach ($tagAttributes as $attributes) { $alias = $attributes["alias"]; $notifierReference = new Reference($id); $notifiers[$alias] = $alias; $definition->addMethodCall('addNotifier', array($notifierReference, $alias)); // Add the notifiers configuration to the right notifier if (!$container->hasDefinition($id)) { throw new UndefindedDefinitionException($id); } $notifierDefinition = $container->getDefinition($id); $notifierDefinition->replaceArgument(1, $notifiersConfiguration[$alias]); // Define Notification form $notificationFormAlias = sprintf('notification_%s', $alias); $notificationFormServiceId = sprintf('idci_notification.form.type.%s', $notificationFormAlias); $notificationFormDefinition = new DefinitionDecorator('idci_notification.form.type.abstract_notification'); $notificationFormDefinition->replaceArgument(0, $alias); $notificationFormDefinition->replaceArgument(1, $notifierReference); $container->setDefinition($notificationFormServiceId, $notificationFormDefinition); // Define NotifierConfiguration form $notifierConfigurationFormAlias = sprintf('notifier_configuration_%s', $alias); $notifierConfigurationFormServiceId = sprintf('idci_notification.form.type.%s', $notifierConfigurationFormAlias); $notifierConfigurationFormDefinition = new DefinitionDecorator('idci_notification.form.type.abstract_notifier_configuration'); $notifierConfigurationFormDefinition->replaceArgument(0, $alias); $notifierConfigurationFormDefinition->replaceArgument(1, $notifierReference); $container->setDefinition($notifierConfigurationFormServiceId, $notifierConfigurationFormDefinition); // Declare untagged 'form.type' directly to the form.extension $types = null === $formExtensionDefinition->getArgument(1) ? array() : $formExtensionDefinition->getArgument(1); $types[$notificationFormAlias] = $notificationFormServiceId; $types[$notifierConfigurationFormAlias] = $notifierConfigurationFormServiceId; $formExtensionDefinition->replaceArgument(1, $types); } } $container->setParameter('idci_notification.notifiers', $notifiers); }
/** * {@inheritdoc} */ protected function loadInternal(array $configs, ContainerBuilder $container) { $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config')); $loader->load('controller.xml'); foreach ($configs['filters'] as $name => $settings) { if (!$settings['enabled']) { continue; } $loader->load('filters/' . $name . '.xml'); foreach ($settings['apply_to'] as $i => $pattern) { $worker = new DefinitionDecorator('assetic.worker.ensure_filter'); $worker->replaceArgument(0, '/' . $pattern . '/'); $worker->replaceArgument(1, new Reference('assetic.filter.' . $name)); $worker->addTag('assetic.factory_worker'); $container->setDefinition('assetic.filter.' . $name . '.worker' . $i, $worker); } } }
protected function createLogger($channel, $loggerId, ContainerBuilder $container) { if (!in_array($channel, $this->channels)) { $logger = new DefinitionDecorator('monolog.logger_prototype'); $logger->replaceArgument(0, $channel); $container->setDefinition($loggerId, $logger); $this->channels[] = $channel; } }
/** * {@inheritDoc} */ protected function createStorage(ContainerBuilder $container, $modelClass, array $config) { $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../../../Resources/config/storage')); $loader->load('doctrine.' . $config['driver'] . '.xml'); $storage = new DefinitionDecorator(sprintf('payum.storage.doctrine.%s', $config['driver'])); $storage->setPublic(true); $storage->replaceArgument(1, $modelClass); return $storage; }
/** * {@inheritdoc} */ public function create(ContainerBuilder $container, $loaderName, array $config) { $loaderDefinition = new DefinitionDecorator('liip_imagine.binary.loader.prototype.flysystem'); $loaderDefinition->replaceArgument(1, new Reference($config['filesystem_service'])); $loaderDefinition->addTag('liip_imagine.binary.loader', array('loader' => $loaderName)); $loaderId = 'liip_imagine.binary.loader.' . $loaderName; $container->setDefinition($loaderId, $loaderDefinition); return $loaderId; }
/** * {@inheritDoc} */ protected function addApis(Definition $paymentDefinition, ContainerBuilder $container, $contextName, array $config) { $apiDefinition = new DefinitionDecorator('payum.be2bill.api.prototype'); $apiDefinition->replaceArgument(1, array('identifier' => $config['identifier'], 'password' => $config['password'], 'sandbox' => $config['sandbox'])); $apiDefinition->setPublic(true); $apiId = 'payum.context.' . $contextName . '.api'; $container->setDefinition($apiId, $apiDefinition); $paymentDefinition->addMethodCall('addApi', array(new Reference($apiId))); }
/** * {@inheritDoc} */ protected function addApis(Definition $paymentDefinition, ContainerBuilder $container, $contextName, array $config) { $apiDefinition = new DefinitionDecorator('payum.limonetik.api.prototype'); $apiDefinition->replaceArgument(0, array('merchantId' => $config['merchant_id'], 'key' => $config['key'], 'sandbox' => $config['sandbox'])); $apiDefinition->setPublic(true); $apiId = 'payum.context.' . $contextName . '.api'; $container->setDefinition($apiId, $apiDefinition); $paymentDefinition->addMethodCall('addApi', array(new Reference($apiId))); }
/** * {@inheritDoc} */ protected function addApis(Definition $paymentDefinition, ContainerBuilder $container, $contextName, array $config) { $apiDefinition = new DefinitionDecorator('payum.paypal.express_checkout_nvp.api.prototype'); $apiDefinition->replaceArgument(0, array('username' => $config['username'], 'password' => $config['password'], 'signature' => $config['signature'], 'sandbox' => $config['sandbox'])); $apiDefinition->setPublic(true); $apiId = 'payum.context.' . $contextName . '.api'; $container->setDefinition($apiId, $apiDefinition); $paymentDefinition->addMethodCall('addApi', array(new Reference($apiId))); }
/** * Creates the listener. * * @return string */ protected function createListener($container, $id, $config, $userProvider) { $listenerId = $this->getListenerId(); $listener = new DefinitionDecorator($listenerId); $listener->replaceArgument(2, $id); $listenerId .= '.' . $id; $container->setDefinition($listenerId, $listener); return $listenerId; }
protected function createListener($container, $id, $config, $userProvider) { $listenerId = $this->getListenerId(); $listener = new DefinitionDecorator($listenerId); $listener->replaceArgument(4, $id); $listener->replaceArgument(6, array_intersect_key($config, $this->options)); // success handler if (isset($config['success_handler'])) { $listener->replaceArgument(7, new Reference($config['success_handler'])); } // failure handler if (isset($config['failure_handler'])) { $listener->replaceArgument(8, new Reference($config['failure_handler'])); } $listenerId .= '.' . $id; $container->setDefinition($listenerId, $listener); return $listenerId; }
protected function registerDoctrineSuggesters(ContainerBuilder $container, $suggesterConfigs, $parentService) { $registry = $container->getDefinition('sirian_suggest.registry'); foreach ($suggesterConfigs as $id => $config) { $definition = new DefinitionDecorator($parentService); $definition->replaceArgument(1, ['class' => $config['class'], 'id_property' => $config['id_property'], 'property' => $config['property'], 'search' => $config['search']]); $suggesterId = 'sirian_suggest.odm.' . $id; $registry->addMethodCall('addService', [$id, $suggesterId]); $container->setDefinition($suggesterId, $definition); } }