X-Git-Url: https://git.rapsys.eu/packbundle/blobdiff_plain/14ba641ec4faf849dc6eb562e119dbf6e77f8916..f3a69e0cab36d6aea72c072e1af929eed06953bd:/DependencyInjection/RapsysPackExtension.php?ds=sidebyside diff --git a/DependencyInjection/RapsysPackExtension.php b/DependencyInjection/RapsysPackExtension.php index c3b4a3b..fc9efce 100644 --- a/DependencyInjection/RapsysPackExtension.php +++ b/DependencyInjection/RapsysPackExtension.php @@ -1,7 +1,18 @@ - + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ namespace Rapsys\PackBundle\DependencyInjection; +use Rapsys\PackBundle\RapsysPackBundle; + use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Extension\Extension; @@ -9,40 +20,48 @@ use Symfony\Component\DependencyInjection\Extension\Extension; * This is the class that loads and manages your bundle configuration. * * @link http://symfony.com/doc/current/cookbook/bundles/extension.html + * + * {@inheritdoc} */ class RapsysPackExtension extends Extension { /** * {@inheritdoc} */ - public function load(array $configs, ContainerBuilder $container) { + public function load(array $configs, ContainerBuilder $container): void { //Load configuration $configuration = $this->getConfiguration($configs, $container); //Process the configuration to get merged config $config = $this->processConfiguration($configuration, $configs); + //Set bundle alias + $alias = RapsysPackBundle::getAlias(); + //Detect when no user configuration is provided if ($configs === [[]]) { //Prepend default config - $container->prependExtensionConfig($this->getAlias(), $config); + $container->prependExtensionConfig($alias, $config); } //Save configuration in parameters - $container->setParameter($this->getAlias(), $config); - } + $container->setParameter($alias, $config); - /** - * {@inheritdoc} - */ - public function getConfiguration(array $configs, ContainerBuilder $container) { - //Get configuration instance with resolved public path - return new Configuration($container->getParameter('kernel.project_dir').'/public/'); + //Set rapsyspack.alias key + $container->setParameter($alias.'.alias', $alias); + + //Set rapsyspack.path key + $container->setParameter($alias.'.path', $config['path']); + + //Set rapsyspack.version key + $container->setParameter($alias.'.version', RapsysPackBundle::getVersion()); } /** * {@inheritdoc} + * + * @xxx Required by kernel to load renamed alias configuration */ - public function getAlias() { - return 'rapsys_pack'; + public function getAlias(): string { + return RapsysPackBundle::getAlias(); } }