vendor/zenstruck/foundry/src/ZenstruckFoundryBundle.php line 17

Open in your IDE?
  1. <?php
  2. namespace Zenstruck\Foundry;
  3. use Symfony\Component\DependencyInjection\ContainerBuilder;
  4. use Symfony\Component\DependencyInjection\Extension\ExtensionInterface;
  5. use Symfony\Component\HttpKernel\Bundle\Bundle;
  6. use Zenstruck\Foundry\Bundle\DependencyInjection\ChainManagerRegistryPass;
  7. use Zenstruck\Foundry\Bundle\DependencyInjection\GlobalStatePass;
  8. use Zenstruck\Foundry\Bundle\DependencyInjection\ZenstruckFoundryExtension;
  9. /**
  10.  * Must be at src root to be auto-configured by Symfony Flex.
  11.  *
  12.  * @author Kevin Bond <kevinbond@gmail.com>
  13.  */
  14. final class ZenstruckFoundryBundle extends Bundle
  15. {
  16.     public function boot(): void
  17.     {
  18.         if (!Factory::isBooted()) {
  19.             Factory::boot($this->container->get(Configuration::class));
  20.         }
  21.     }
  22.     public function build(ContainerBuilder $container): void
  23.     {
  24.         parent::build($container);
  25.         $container->addCompilerPass(new ChainManagerRegistryPass());
  26.         $container->addCompilerPass(new GlobalStatePass());
  27.     }
  28.     protected function createContainerExtension(): ?ExtensionInterface
  29.     {
  30.         return new ZenstruckFoundryExtension();
  31.     }
  32. }