Symfony\Component\DependencyInjection\Loader\XmlFileLoader::load PHP Method

load() public method

public load ( $resource, $type = null )
    public function load($resource, $type = null)
    {
        $path = $this->locator->locate($resource);

        $xml = $this->parseFileToDOM($path);

        $this->container->addResource(new FileResource($path));

        // anonymous services
        $this->processAnonymousServices($xml, $path);

        // imports
        $this->parseImports($xml, $path);

        // parameters
        $this->parseParameters($xml);

        // extensions
        $this->loadFromExtensions($xml);

        // services
        $this->parseDefinitions($xml, $path);
    }

Usage Example

 /**
  * {@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');
     $params = ['defaults' => ['headers' => ['User-Agent' => $config['user_agent']]], 'emitter' => new Reference('ricbra_discogs.emitter')];
     $emitterDefinition = $container->getDefinition('ricbra_discogs.emitter');
     $clientDefinition = $container->getDefinition('discogs');
     $clientDefinition->replaceArgument(0, $params);
     if ($config['throttle']['enabled']) {
         $throttleDefinition = $container->getDefinition('ricbra_discogs.subscriber.throttle_subscriber');
         $throttleDefinition->replaceArgument(0, $config['throttle']['microseconds']);
         $emitterDefinition->addMethodCall('attach', [new Reference('ricbra_discogs.subscriber.throttle_subscriber')]);
     }
     if ($config['oauth']['enabled']) {
         $loader->load('oauth.xml');
         $subscriber = $container->getDefinition('ricbra_discogs.subscriber.oauth');
         $subscriber->replaceArgument(0, $config['oauth']['consumer_key']);
         $subscriber->replaceArgument(1, $config['oauth']['consumer_secret']);
         $factory = $container->getDefinition('ricbra_discogs.oauth_subscriber_factory');
         $factory->replaceArgument(0, new Reference($config['oauth']['token_provider_id']));
         $emitterDefinition->addMethodCall('attach', [new Reference('ricbra_discogs.subscriber.oauth')]);
     }
 }
All Usage Examples Of Symfony\Component\DependencyInjection\Loader\XmlFileLoader::load