]> Raphaƫl G. Git Repositories - airlibre/blobdiff - src/Kernel.php
Update config bundles
[airlibre] / src / Kernel.php
index 1cd05726a274820cd9ab00261d9acadf10ced0b2..03debcac18b49b67ad0d6191bc6bf602da625148 100644 (file)
@@ -3,52 +3,40 @@
 namespace App;
 
 use Symfony\Bundle\FrameworkBundle\Kernel\MicroKernelTrait;
-use Symfony\Component\Config\Loader\LoaderInterface;
-use Symfony\Component\Config\Resource\FileResource;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
+use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
 use Symfony\Component\HttpKernel\Kernel as BaseKernel;
-use Symfony\Component\Routing\RouteCollectionBuilder;
+use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator;
 
 class Kernel extends BaseKernel
 {
     use MicroKernelTrait;
 
-    private const CONFIG_EXTS = '.{php,xml,yaml,yml}';
-
-    public function registerBundles(): iterable
+    protected function configureContainer(ContainerConfigurator $container): void
     {
-        $contents = require $this->getProjectDir().'/config/bundles.php';
-        foreach ($contents as $class => $envs) {
-            if ($envs[$this->environment] ?? $envs['all'] ?? false) {
-                yield new $class();
-            }
-        }
-    }
+        $projectDir = $this->getProjectDir();
 
-    public function getProjectDir(): string
-    {
-        return \dirname(__DIR__);
-    }
+        $container->import($projectDir.'/config/{packages}/*.yaml');
+        $container->import($projectDir.'/config/{packages}/'.$this->environment.'/*.yaml');
 
-    protected function configureContainer(ContainerBuilder $container, LoaderInterface $loader): void
-    {
-        $container->addResource(new FileResource($this->getProjectDir().'/config/bundles.php'));
-        $container->setParameter('container.dumper.inline_class_loader', \PHP_VERSION_ID < 70400 || $this->debug);
-        $container->setParameter('container.dumper.inline_factories', true);
-        $confDir = $this->getProjectDir().'/config';
-
-        $loader->load($confDir.'/{packages}/*'.self::CONFIG_EXTS, 'glob');
-        $loader->load($confDir.'/{packages}/'.$this->environment.'/*'.self::CONFIG_EXTS, 'glob');
-        $loader->load($confDir.'/{services}'.self::CONFIG_EXTS, 'glob');
-        $loader->load($confDir.'/{services}_'.$this->environment.self::CONFIG_EXTS, 'glob');
+        if (is_file($projectDir.'/config/services.yaml')) {
+            $container->import($projectDir.'/config/services.yaml');
+            $container->import($projectDir.'/config/{services}_'.$this->environment.'.yaml');
+        } else {
+            $container->import($projectDir.'/config/{services}.php');
+        }
     }
 
-    protected function configureRoutes(RouteCollectionBuilder $routes): void
+    protected function configureRoutes(RoutingConfigurator $routes): void
     {
-        $confDir = $this->getProjectDir().'/config';
+        $projectDir = $this->getProjectDir();
 
-        $routes->import($confDir.'/{routes}/'.$this->environment.'/*'.self::CONFIG_EXTS, '/', 'glob');
-        $routes->import($confDir.'/{routes}/*'.self::CONFIG_EXTS, '/', 'glob');
-        $routes->import($confDir.'/{routes}'.self::CONFIG_EXTS, '/', 'glob');
+        $routes->import($projectDir.'/config/{routes}/'.$this->environment.'/*.yaml');
+        $routes->import($projectDir.'/config/{routes}/*.yaml');
+
+        if (is_file($projectDir.'/config/routes.yaml')) {
+            $routes->import($projectDir.'/config/routes.yaml');
+        } else {
+            $routes->import($projectDir.'/config/{routes}.php');
+        }
     }
 }