Chris@0: Chris@0: * Chris@0: * For the full copyright and license information, please view the LICENSE Chris@0: * file that was distributed with this source code. Chris@0: */ Chris@0: Chris@0: namespace Symfony\Component\DependencyInjection\Extension; Chris@0: Chris@0: use Symfony\Component\DependencyInjection\ContainerBuilder; Chris@0: Chris@0: /** Chris@0: * ExtensionInterface is the interface implemented by container extension classes. Chris@0: * Chris@0: * @author Fabien Potencier Chris@0: */ Chris@0: interface ExtensionInterface Chris@0: { Chris@0: /** Chris@0: * Loads a specific configuration. Chris@0: * Chris@0: * @throws \InvalidArgumentException When provided tag is not defined in this extension Chris@0: */ Chris@0: public function load(array $configs, ContainerBuilder $container); Chris@0: Chris@0: /** Chris@0: * Returns the namespace to be used for this extension (XML namespace). Chris@0: * Chris@0: * @return string The XML namespace Chris@0: */ Chris@0: public function getNamespace(); Chris@0: Chris@0: /** Chris@0: * Returns the base path for the XSD files. Chris@0: * Chris@0: * @return string The XSD base path Chris@0: */ Chris@0: public function getXsdValidationBasePath(); Chris@0: Chris@0: /** Chris@0: * Returns the recommended alias to use in XML. Chris@0: * Chris@0: * This alias is also the mandatory prefix to use when using YAML. Chris@0: * Chris@0: * @return string The alias Chris@0: */ Chris@0: public function getAlias(); Chris@0: }