vendor/datenwerk/ginger-bundle/DWGingerBundle.php line 14

Open in your IDE?
  1. <?php
  2. namespace DW\GingerBundle;
  3. use DW\GingerBundle\DependencyInjection\Compiler\AddPersonMatcherPass;
  4. use DW\GingerBundle\DependencyInjection\Compiler\AddSearchFilterPass;
  5. use DW\GingerBundle\DependencyInjection\Compiler\AddSearchQueryConverterPass;
  6. use DW\GingerBundle\DependencyInjection\Compiler\AddTwigGlobalsPass;
  7. use DW\GingerBundle\GraphQL\GraphQLTypeCompilerPass;
  8. use DW\GingerBundle\Search\QueryBuilderConverterInterface;
  9. use Symfony\Component\DependencyInjection\ContainerBuilder;
  10. use Symfony\Component\HttpKernel\Bundle\Bundle;
  11. class DWGingerBundle extends Bundle
  12. {
  13.     /**
  14.      * {@inheritdoc}
  15.      */
  16.     public function build(ContainerBuilder $container)
  17.     {
  18.         parent::build($container);
  19.     
  20.         $this->autoConfigureTags($container);
  21.         
  22.         $container
  23.             ->addCompilerPass(new AddSearchQueryConverterPass())
  24.             ->addCompilerPass(new AddSearchFilterPass())
  25.             ->addCompilerPass(new AddTwigGlobalsPass())
  26.             ->addCompilerPass(new GraphQLTypeCompilerPass())
  27.             ->addCompilerPass(new AddPersonMatcherPass())
  28.         ;
  29.     }
  30.     
  31.     /**
  32.      * Automatically apply bundle tags.
  33.      *
  34.      * @param \Symfony\Component\DependencyInjection\ContainerBuilder $container
  35.      */
  36.     private function autoConfigureTags(ContainerBuilder $container)
  37.     {
  38.         // SearchQueryConverters.
  39.         if (!$container->has('dw_ginger.search.doctrine_engine')) {
  40.             $container->registerForAutoconfiguration(QueryBuilderConverterInterface::class)
  41.               ->addTag('dw_ginger.search.doctrine.query_converter')
  42.             ;
  43.         }
  44.     }
  45. }