ExtensionInterface.php

Namespace

Symfony\Component\DependencyInjection\Extension

File

drupal/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Extension/ExtensionInterface.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\DependencyInjection\Extension;

use Symfony\Component\DependencyInjection\ContainerBuilder;

/**
 * ExtensionInterface is the interface implemented by container extension classes.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @api
 */
interface ExtensionInterface {

  /**
   * Loads a specific configuration.
   *
   * @param array            $config    An array of configuration values
   * @param ContainerBuilder $container A ContainerBuilder instance
   *
   * @throws InvalidArgumentException When provided tag is not defined in this extension
   *
   * @api
   */
  public function load(array $config, ContainerBuilder $container);

  /**
   * Returns the namespace to be used for this extension (XML namespace).
   *
   * @return string The XML namespace
   *
   * @api
   */
  public function getNamespace();

  /**
   * Returns the base path for the XSD files.
   *
   * @return string The XSD base path
   *
   * @api
   */
  public function getXsdValidationBasePath();

  /**
   * Returns the recommended alias to use in XML.
   *
   * This alias is also the mandatory prefix to use when using YAML.
   *
   * @return string The alias
   *
   * @api
   */
  public function getAlias();

}

Interfaces

Namesort descending Description
ExtensionInterface ExtensionInterface is the interface implemented by container extension classes.