From 6d18c336ac9a9755db92f8918f710dcac89b5bc9 Mon Sep 17 00:00:00 2001 From: eliot lauger Date: Wed, 28 May 2025 09:59:20 +0200 Subject: [PATCH 1/2] fix(services): Update driver argument syntax in ImageManager --- config/services.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/services.yml b/config/services.yml index 72e61a0..4aa590d 100644 --- a/config/services.yml +++ b/config/services.yml @@ -9,7 +9,7 @@ services: Intervention\Image\ImageManager: arguments: - - { driver: '%rz_intervention_request.driver%' } + - '%rz_intervention_request.driver%' RZ\InterventionRequestBundle\Command\CacheCommand: arguments: From 850c504038add73596c54ca4bb27378dbc751d85 Mon Sep 17 00:00:00 2001 From: eliot lauger Date: Wed, 28 May 2025 10:22:29 +0200 Subject: [PATCH 2/2] fix: Add dynamic driver definition --- config/services.yml | 2 +- src/DependencyInjection/RZInterventionRequestExtension.php | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/config/services.yml b/config/services.yml index 4aa590d..8d9b11c 100644 --- a/config/services.yml +++ b/config/services.yml @@ -9,7 +9,7 @@ services: Intervention\Image\ImageManager: arguments: - - '%rz_intervention_request.driver%' + - '@Intervention\Image\Interfaces\DriverInterface' RZ\InterventionRequestBundle\Command\CacheCommand: arguments: diff --git a/src/DependencyInjection/RZInterventionRequestExtension.php b/src/DependencyInjection/RZInterventionRequestExtension.php index b49a1a3..a001b8b 100644 --- a/src/DependencyInjection/RZInterventionRequestExtension.php +++ b/src/DependencyInjection/RZInterventionRequestExtension.php @@ -4,9 +4,11 @@ namespace RZ\InterventionRequestBundle\DependencyInjection; +use Intervention\Image\Interfaces\DriverInterface; use Symfony\Component\Config\Definition\Exception\InvalidConfigurationException; use Symfony\Component\Config\FileLocator; use Symfony\Component\DependencyInjection\ContainerBuilder; +use Symfony\Component\DependencyInjection\Definition; use Symfony\Component\DependencyInjection\Loader; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\HttpKernel\DependencyInjection\Extension; @@ -35,6 +37,10 @@ public function load(array $configs, ContainerBuilder $container): void $container->setParameter('rz_intervention_request.jpegoptim_path', $config['jpegoptim_path']); $container->setParameter('rz_intervention_request.pngquant_path', $config['pngquant_path']); + $driverDefinition = new Definition(DriverInterface::class); + $driverDefinition->setClass(('imagick' === $config['driver']) ? \Intervention\Image\Drivers\Imagick\Driver::class : \Intervention\Image\Drivers\Gd\Driver::class); + $container->setDefinition(DriverInterface::class, $driverDefinition); + $this->loadSubscribers($container, $config); }