vendor/netgen/layouts-ibexa/bundle/NetgenLayoutsIbexaBundle.php line 16

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace Netgen\Bundle\LayoutsIbexaBundle;
  4. use Netgen\Bundle\LayoutsIbexaBundle\DependencyInjection\CompilerPass;
  5. use Netgen\Bundle\LayoutsIbexaBundle\DependencyInjection\ExtensionPlugin;
  6. use Netgen\Bundle\LayoutsIbexaBundle\Security\PolicyProvider;
  7. use Symfony\Component\DependencyInjection\Compiler\PassConfig;
  8. use Symfony\Component\DependencyInjection\ContainerBuilder;
  9. use Symfony\Component\HttpKernel\Bundle\Bundle;
  10. use function interface_exists;
  11. final class NetgenLayoutsIbexaBundle extends Bundle
  12. {
  13. public function build(ContainerBuilder $container): void
  14. {
  15. /** @var \Netgen\Bundle\LayoutsBundle\DependencyInjection\NetgenLayoutsExtension $layoutsExtension */
  16. $layoutsExtension = $container->getExtension('netgen_layouts');
  17. $layoutsExtension->addPlugin(new ExtensionPlugin($container, $layoutsExtension));
  18. $container->addCompilerPass(new CompilerPass\View\DefaultViewTemplatesPass());
  19. $container->addCompilerPass(new CompilerPass\ComponentPass(), PassConfig::TYPE_BEFORE_OPTIMIZATION, 1000);
  20. $container->addCompilerPass(new CompilerPass\DefaultAppPreviewPass());
  21. $container->addCompilerPass(new CompilerPass\HttpCache\ConfigureHttpCachePass());
  22. $container->addCompilerPass(new CompilerPass\HttpCache\VarnishClientPass());
  23. if (!interface_exists('Netgen\Layouts\Enterprise\API\Service\RoleService')) {
  24. /** @var \Ibexa\Bundle\Core\DependencyInjection\IbexaCoreExtension $ibexaCoreExtension */
  25. $ibexaCoreExtension = $container->getExtension('ibexa');
  26. $ibexaCoreExtension->addPolicyProvider(new PolicyProvider());
  27. }
  28. }
  29. }