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

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace Frosh\Tools;
  3. use Composer\Autoload\ClassLoader;
  4. use Frosh\Tools\Components\Messenger\TaskLoggingMiddlewareCompilerPass;
  5. use Frosh\Tools\DependencyInjection\CacheCompilerPass;
  6. use Frosh\Tools\DependencyInjection\DisableElasticsearchCompilerPass;
  7. use Frosh\Tools\DependencyInjection\FroshToolsExtension;
  8. use Frosh\Tools\DependencyInjection\SymfonyConfigCompilerPass;
  9. use Shopware\Core\Framework\Plugin;
  10. use Symfony\Component\DependencyInjection\ContainerBuilder;
  11. if (file_exists($vendorPath __DIR__ '/../vendor/autoload.php')) {
  12.     require_once $vendorPath;
  13. }
  14. class FroshTools extends Plugin
  15. {
  16.     public function build(ContainerBuilder $container): void
  17.     {
  18.         parent::build($container);
  19.         $container->addCompilerPass(new CacheCompilerPass());
  20.         $container->addCompilerPass(new TaskLoggingMiddlewareCompilerPass());
  21.         $container->addCompilerPass(new SymfonyConfigCompilerPass());
  22.         $container->addCompilerPass(new DisableElasticsearchCompilerPass());
  23.     }
  24.     public function createContainerExtension(): FroshToolsExtension
  25.     {
  26.         return new FroshToolsExtension();
  27.     }
  28.     public static function classLoader(): void
  29.     {
  30.         $file __DIR__ '/../vendor/autoload.php';
  31.         if (!is_file($file)) {
  32.             return;
  33.         }
  34.         /** @noinspection UsingInclusionOnceReturnValueInspection */
  35.         $classLoader = require_once $file;
  36.         if (!$classLoader instanceof ClassLoader) {
  37.             return;
  38.         }
  39.         $classLoader->unregister();
  40.         $classLoader->register(false);
  41.     }
  42. }