vendor/dukecity/command-scheduler-bundle/DukecityCommandSchedulerBundle.php line 14

Open in your IDE?
  1. <?php
  2. namespace Dukecity\CommandSchedulerBundle;
  3. use Doctrine\Bundle\DoctrineBundle\DependencyInjection\Compiler\DoctrineOrmMappingsPass;
  4. use Dukecity\CommandSchedulerBundle\DependencyInjection\DukecityCommandSchedulerExtension;
  5. use Symfony\Component\DependencyInjection\ContainerBuilder;
  6. use Symfony\Component\DependencyInjection\Definition;
  7. use Symfony\Component\HttpKernel\Bundle\Bundle;
  8. /**
  9.  * Class DukecityCommandSchedulerBundle.
  10.  */
  11. class DukecityCommandSchedulerBundle extends Bundle
  12. {
  13.     public function build(ContainerBuilder $container)
  14.     {
  15.         parent::build($container);
  16.         $ormCompilerClass 'Doctrine\Bundle\DoctrineBundle\DependencyInjection\Compiler\DoctrineOrmMappingsPass';
  17.         if (class_exists($ormCompilerClass))
  18.         {
  19.             $namespaces = ['Dukecity\CommandSchedulerBundle\Entity'];
  20.             $directories = [realpath(__DIR__.'/Entity')];
  21.             $managerParameters = [];
  22.             $enabledParameter false;
  23.             $aliasMap = ['CommandSchedulerBundle' => 'Dukecity\CommandSchedulerBundle\Entity'];
  24.             $driver = new Definition('Doctrine\ORM\Mapping\Driver\AttributeDriver', [$directories]);
  25.             $container->addCompilerPass(
  26.                 new DoctrineOrmMappingsPass(
  27.                     $driver,
  28.                     $namespaces,
  29.                     $managerParameters,
  30.                     $enabledParameter,
  31.                     $aliasMap
  32.                 )
  33.             );
  34.                 # TODO
  35.             /** If this is merged it could be renamed https://github.com/doctrine/DoctrineBundle/pull/1369/files
  36.              * new DoctrineOrmMappingsPass(
  37.              * DoctrineOrmMappingsPass::createPhpMappingDriver(
  38.              * $namespaces,
  39.             $directories,
  40.             $managerParameters,
  41.             $enabledParameter,
  42.             $aliasMap)
  43.              */
  44.         }
  45.     }
  46.     /**
  47.      * {@inheritdoc}
  48.      *
  49.      * @return DukecityCommandSchedulerExtension
  50.      */
  51.     public function getContainerExtension(): DukecityCommandSchedulerExtension
  52.     {
  53.         $class $this->getContainerExtensionClass();
  54.         return new $class();
  55.     }
  56.     /**
  57.      * {@inheritdoc}
  58.      */
  59.     protected function getContainerExtensionClass(): string
  60.     {
  61.         return DukecityCommandSchedulerExtension::class;
  62.     }
  63. }