From 45169ea4962a06f600cd6e68f94e0f562264e81b Mon Sep 17 00:00:00 2001 From: Michiel Kodde Date: Mon, 15 Apr 2024 11:15:48 +0200 Subject: [PATCH] Simplify the Kernel The MicroKernelTrait provides 90% of all logic for the kernel We only need the getProjectDir implementation. --- src/Kernel.php | 41 +++-------------------------------------- 1 file changed, 3 insertions(+), 38 deletions(-) diff --git a/src/Kernel.php b/src/Kernel.php index 3092cc44..e05d2105 100644 --- a/src/Kernel.php +++ b/src/Kernel.php @@ -21,52 +21,17 @@ namespace Surfnet\Webauthn; 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\HttpKernel\Kernel as BaseKernel; -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 - { - $contents = require $this->getProjectDir().'/config/bundles.php'; - foreach ($contents as $class => $envs) { - if ($envs[$this->environment] ?? $envs['all'] ?? false) { - yield new $class(); - } - } - } - + /** + * see https://symfony.com/doc/current/reference/configuration/kernel.html#kernel-project-dir + */ public function getProjectDir(): string { return dirname(__DIR__); } - - 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'); - } - - protected function configureRoutes(RoutingConfigurator $routes): void - { - $confDir = $this->getProjectDir().'/config'; - - $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'); - } }