From cf7a7a7dab790e1af5cfc61cd3b5252dae67ad21 Mon Sep 17 00:00:00 2001 From: Kai Dederichs Date: Wed, 11 Jan 2023 23:31:27 +0100 Subject: [PATCH] chore(symfony): ValueResolverInterface deprecation --- .../CompatibleValueResolverInterface.php | 29 +++++++++++++++++++ .../PayloadArgumentResolver.php | 8 +++-- 2 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 src/Symfony/Bundle/ArgumentResolver/CompatibleValueResolverInterface.php diff --git a/src/Symfony/Bundle/ArgumentResolver/CompatibleValueResolverInterface.php b/src/Symfony/Bundle/ArgumentResolver/CompatibleValueResolverInterface.php new file mode 100644 index 00000000000..34242eb8f79 --- /dev/null +++ b/src/Symfony/Bundle/ArgumentResolver/CompatibleValueResolverInterface.php @@ -0,0 +1,29 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace ApiPlatform\Symfony\Bundle\ArgumentResolver; + +use Symfony\Component\HttpKernel\Controller\ArgumentValueResolverInterface; +use Symfony\Component\HttpKernel\Controller\ValueResolverInterface; + +if (interface_exists(ValueResolverInterface::class)) { + /** @internal */ + interface CompatibleValueResolverInterface extends ValueResolverInterface + { + } +} else { + /** @internal */ + interface CompatibleValueResolverInterface extends ArgumentValueResolverInterface + { + } +} diff --git a/src/Symfony/Bundle/ArgumentResolver/PayloadArgumentResolver.php b/src/Symfony/Bundle/ArgumentResolver/PayloadArgumentResolver.php index 3c4d538e8f9..3c66690951d 100644 --- a/src/Symfony/Bundle/ArgumentResolver/PayloadArgumentResolver.php +++ b/src/Symfony/Bundle/ArgumentResolver/PayloadArgumentResolver.php @@ -21,7 +21,7 @@ use Symfony\Component\HttpKernel\Controller\ValueResolverInterface; use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata; -final class PayloadArgumentResolver implements ValueResolverInterface +final class PayloadArgumentResolver implements CompatibleValueResolverInterface { use OperationRequestInitiatorTrait; @@ -59,8 +59,10 @@ public function supports(Request $request, ArgumentMetadata $argument): bool public function resolve(Request $request, ArgumentMetadata $argument): \Generator { - if (!$this->supports($request, $argument)) { - yield []; + if (interface_exists(ValueResolverInterface::class)) { + if (!$this->supports($request, $argument)) { + yield []; + } } yield $request->attributes->get('data');