vendor/helis/settings-manager-bundle/src/HelisSettingsManagerBundle.php line 17

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace Helis\SettingsManagerBundle;
  4. use Acelaya\Doctrine\Type\PhpEnumType;
  5. use Doctrine\DBAL\Types\Type as DoctrineType;
  6. use Helis\SettingsManagerBundle\DependencyInjection\Compiler\ProviderFactoryPass;
  7. use Helis\SettingsManagerBundle\DependencyInjection\Compiler\ProviderPass;
  8. use Helis\SettingsManagerBundle\DependencyInjection\Compiler\SettingsAwarePass;
  9. use Helis\SettingsManagerBundle\Model\Type;
  10. use Symfony\Component\DependencyInjection\Compiler\PassConfig;
  11. use Symfony\Component\DependencyInjection\ContainerBuilder;
  12. use Symfony\Component\HttpKernel\Bundle\Bundle;
  13. class HelisSettingsManagerBundle extends Bundle
  14. {
  15.     public function boot()
  16.     {
  17.         parent::boot();
  18.         if (class_exists('Acelaya\Doctrine\Type\PhpEnumType')
  19.             && !DoctrineType::hasType('setting_type_enum')
  20.         ) {
  21.             PhpEnumType::registerEnumType('setting_type_enum'Type::class);
  22.         }
  23.     }
  24.     public function build(ContainerBuilder $container)
  25.     {
  26.         parent::build($container);
  27.         $container->addCompilerPass(new ProviderFactoryPass(), PassConfig::TYPE_BEFORE_OPTIMIZATION1);
  28.         $container->addCompilerPass(new ProviderPass());
  29.         $container->addCompilerPass(new SettingsAwarePass());
  30.     }
  31. }