Registers an extension.
public registerExtension ( Symfony\Component\DependencyInjection\Extension\ExtensionInterface $extension ) | ||
$extension | Symfony\Component\DependencyInjection\Extension\ExtensionInterface | An extension instance |
use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Extension\ExtensionInterface; class MyExtension implements ExtensionInterface { public function load(array $configs, ContainerBuilder $container) { // Load configuration and define services } public function getAlias() { return 'my_extension'; } } // Register the extension $container = new ContainerBuilder(); $container->registerExtension(new MyExtension());
use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Extension\ExtensionInterface; class MyExtension implements ExtensionInterface { // ... public function getNamespace() { return 'http://example.com/schema/my_extension'; } public function getXsdValidationBasePath() { return __DIR__.'/../Resources/config/schema'; } } // Register the extension $container = new ContainerBuilder(); $container->registerExtension(new MyExtension());In this example, we define a custom extension `MyExtension` that implements the `ExtensionInterface`. We also specify the namespace and XSD validation path for the extension using `getNamespace()` and `getXsdValidationBasePath()` respectively. Based on the package name conventions (`Symfony\Component\DependencyInjection`), we can determine that this is part of the Symfony DependencyInjection library.
public registerExtension ( Symfony\Component\DependencyInjection\Extension\ExtensionInterface $extension ) | ||
$extension | Symfony\Component\DependencyInjection\Extension\ExtensionInterface | An extension instance |