Skip to content
Snippets Groups Projects
Select Git revision
  • 8740c887405a51a70c6f79ccbb0d5104e61908a0
  • main default protected
  • v0.2.1
  • v0.2.0
  • v0.1.2
  • v0.1.0
  • v0.1.1
7 results

DbpStarterExtension.php

Blame
  • DbpStarterExtension.php 1.14 KiB
    <?php
    
    declare(strict_types=1);
    
    namespace DBP\API\StarterBundle\DependencyInjection;
    
    use Symfony\Component\Config\FileLocator;
    use Symfony\Component\DependencyInjection\ContainerBuilder;
    use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
    use Symfony\Component\HttpKernel\DependencyInjection\Extension;
    
    class DbpStarterExtension extends Extension
    {
        public function load(array $configs, ContainerBuilder $container)
        {
            $this->extendArrayParameter(
                $container, 'api_platform.resource_class_directories', [__DIR__.'/../Entity']);
    
            $loader = new YamlFileLoader(
                $container,
                new FileLocator(__DIR__.'/../Resources/config')
            );
            $loader->load('services.yaml');
        }
    
        private function extendArrayParameter(ContainerBuilder $container, string $parameter, array $values)
        {
            if (!$container->hasParameter($parameter)) {
                $container->setParameter($parameter, []);
            }
            $oldValues = $container->getParameter($parameter);
            assert(is_array($oldValues));
            $container->setParameter($parameter, array_merge($oldValues, $values));
        }
    }