diff --git a/CHANGELOG.md b/CHANGELOG.md index d16b38ed4b7..57a831ad4ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## v5.0.0-alpha.4 + +### Notes + +* The internal `ApiPlatform\Symfony\Bundle\ArgumentResolver\CompatibleValueResolverInterface` is removed. It aliased either `ValueResolverInterface` or the Symfony 6 `ArgumentValueResolverInterface` depending on which existed; since the Symfony floor is `^7.4`, only the former can be installed, and Symfony 8 dropped the latter altogether. `PayloadArgumentResolver` now implements `ValueResolverInterface` directly. + ## v5.0.0-alpha.3 ### Features diff --git a/phpstan.neon.dist b/phpstan.neon.dist index ee3f9221f42..703ae595fed 100644 --- a/phpstan.neon.dist +++ b/phpstan.neon.dist @@ -33,8 +33,6 @@ parameters: - src/Doctrine/Odm/Tests/var/* - src/Doctrine/*/vendor/* - src/*/vendor/* - # Symfony 6 support - - src/Symfony/Bundle/ArgumentResolver/CompatibleValueResolverInterface.php - tests/Fixtures/app/config/reference.php earlyTerminatingMethodCalls: PHPUnit\Framework\Constraint\Constraint: diff --git a/src/Symfony/Bundle/ArgumentResolver/CompatibleValueResolverInterface.php b/src/Symfony/Bundle/ArgumentResolver/CompatibleValueResolverInterface.php deleted file mode 100644 index 34242eb8f79..00000000000 --- a/src/Symfony/Bundle/ArgumentResolver/CompatibleValueResolverInterface.php +++ /dev/null @@ -1,29 +0,0 @@ - - * - * 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 e935632b797..6e6228c6b21 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 CompatibleValueResolverInterface +final class PayloadArgumentResolver implements ValueResolverInterface { use OperationRequestInitiatorTrait; @@ -59,10 +59,8 @@ public function supports(Request $request, ArgumentMetadata $argument): bool public function resolve(Request $request, ArgumentMetadata $argument): iterable { - if (interface_exists(ValueResolverInterface::class)) { - if (!$this->supports($request, $argument)) { - return []; - } + if (!$this->supports($request, $argument)) { + return []; } yield $request->attributes->get('data');