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

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