custom/plugins/FroshDevelopmentHelper/src/FroshDevelopmentHelper.php line 18

  1. <?php declare(strict_types=1);
  2. namespace Frosh\DevelopmentHelper;
  3. use Frosh\DevelopmentHelper\Component\DependencyInjection\BuildEntityDefinitionNamesCompilerPass;
  4. use Frosh\DevelopmentHelper\Component\DependencyInjection\CustomProfilerExtensions;
  5. use Frosh\DevelopmentHelper\Component\DependencyInjection\DisableTwigCacheCompilerPass;
  6. use Frosh\DevelopmentHelper\Component\DependencyInjection\FroshDevelopmentHelperExtension;
  7. use Shopware\Core\Framework\Plugin;
  8. use Shopware\Core\Kernel;
  9. use Symfony\Component\Config\FileLocator;
  10. use Symfony\Component\Config\Loader\DelegatingLoader;
  11. use Symfony\Component\Config\Loader\LoaderResolver;
  12. use Symfony\Component\DependencyInjection\Loader\GlobFileLoader;
  13. use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
  14. use Symfony\Component\DependencyInjection\ContainerBuilder;
  15. class FroshDevelopmentHelper extends Plugin
  16. {
  17.     public function build(ContainerBuilder $container): void
  18.     {
  19.         $container->addCompilerPass(new DisableTwigCacheCompilerPass());
  20.         $container->addCompilerPass(new CustomProfilerExtensions());
  21.         $container->addCompilerPass(new BuildEntityDefinitionNamesCompilerPass());
  22.         $this->buildConfig($container);
  23.         parent::build($container);
  24.     }
  25.     public function createContainerExtension(): FroshDevelopmentHelperExtension
  26.     {
  27.         return new FroshDevelopmentHelperExtension();
  28.     }
  29.     private function buildConfig(ContainerBuilder $container): void
  30.     {
  31.         $locator = new FileLocator('Resources/config');
  32.         $resolver = new LoaderResolver([
  33.             new YamlFileLoader($container$locator),
  34.             new GlobFileLoader($container$locator),
  35.         ]);
  36.         $configLoader = new DelegatingLoader($resolver);
  37.         $confDir $this->getPath() . '/Resources/config';
  38.         $configLoader->load($confDir '/{packages}/*' Kernel::CONFIG_EXTS'glob');
  39.     }
  40.     public function executeComposerCommands(): bool
  41.     {
  42.         return true;
  43.     }
  44. }