ConfigurableExtension.php

Namespace

Symfony\Component\HttpKernel\DependencyInjection

File

drupal/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/ConfigurableExtension.php
View source
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
namespace Symfony\Component\HttpKernel\DependencyInjection;

use Symfony\Component\DependencyInjection\ContainerBuilder;

/**
 * This extension sub-class provides first-class integration with the
 * Config/Definition Component.
 *
 * You can use this as base class if you
 *
 *    a) use the Config/Definition component for configuration
 *    b) your configuration class is named "Configuration" and
 *    c) the configuration class resides in the DependencyInjection sub-folder
 *
 * @author Johannes M. Schmitt <schmittjoh@gmail.com>
 */
abstract class ConfigurableExtension extends Extension {

  /**
   * {@inheritDoc}
   */
  public final function load(array $configs, ContainerBuilder $container) {
    $this
      ->loadInternal($this
      ->processConfiguration($this
      ->getConfiguration(array(), $container), $configs), $container);
  }

  /**
   * Configures the passed container according to the merged configuration.
   *
   * @param array            $mergedConfig
   * @param ContainerBuilder $container
   */
  protected abstract function loadInternal(array $mergedConfig, ContainerBuilder $container);

}

Classes

Namesort descending Description
ConfigurableExtension This extension sub-class provides first-class integration with the Config/Definition Component.