From 57fd9093c9ece3b1e3a79b7b512016d7ae9699c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Pudil?= Date: Mon, 11 Oct 2021 16:41:58 +0200 Subject: [PATCH] Bump PHP to 7.4 and support 8.1 (#8) * chore: bump minimum PHP version to 7.4 * chore: support PHP 8.1 --- .github/workflows/main.yaml | 12 ++++++------ composer.json | 5 +++-- src/ContainerConstraintValidatorFactory.php | 6 +++--- src/DI/ValidatorExtension.php | 6 +++--- 4 files changed, 15 insertions(+), 14 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index eae9db1..9a1917e 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -23,7 +23,7 @@ jobs: strategy: matrix: - php-version: [ "7.4" ] + php-version: [ "8.0" ] operating-system: [ "ubuntu-latest" ] fail-fast: false @@ -82,7 +82,7 @@ jobs: strategy: matrix: - php-version: [ "7.4" ] + php-version: [ "8.0" ] operating-system: [ "ubuntu-latest" ] fail-fast: false @@ -138,11 +138,11 @@ jobs: strategy: matrix: - php-version: [ "7.2", "7.3", "7.4", "8.0" ] + php-version: [ "7.4", "8.0", "8.1" ] operating-system: [ "ubuntu-latest" ] composer-args: [ "" ] include: - - php-version: "7.2" + - php-version: "7.4" operating-system: "ubuntu-latest" composer-args: "--prefer-lowest" fail-fast: false @@ -206,7 +206,7 @@ jobs: strategy: matrix: - php-version: [ "7.4" ] + php-version: [ "8.0" ] operating-system: [ "ubuntu-latest" ] fail-fast: false @@ -264,5 +264,5 @@ jobs: CI: true COVERALLS_REPO_TOKEN: "${{ secrets.GITHUB_TOKEN }}" run: | - wget https://github.com/php-coveralls/php-coveralls/releases/download/v2.4.2/php-coveralls.phar + wget https://github.com/php-coveralls/php-coveralls/releases/download/v2.4.3/php-coveralls.phar php php-coveralls.phar --verbose --config tests/.coveralls.yml diff --git a/composer.json b/composer.json index 8f7ca48..9459868 100644 --- a/composer.json +++ b/composer.json @@ -17,8 +17,8 @@ } ], "require": { - "php": ">=7.2", - "nette/di": "^3.0", + "php": ">=7.4", + "nette/di": "^3.0.1", "symfony/cache": "^5.0", "symfony/config": "^5.0", "symfony/validator": "^5.0" @@ -27,6 +27,7 @@ "doctrine/annotations": "^1.8", "doctrine/cache": "^1.10", "nette/bootstrap": "^3.0", + "nette/tester": "^2.4", "ninjify/nunjuck": "^0.3.0", "ninjify/qa": "^0.12", "phpstan/phpstan": "^0.12", diff --git a/src/ContainerConstraintValidatorFactory.php b/src/ContainerConstraintValidatorFactory.php index 92fd827..e11bbaa 100644 --- a/src/ContainerConstraintValidatorFactory.php +++ b/src/ContainerConstraintValidatorFactory.php @@ -15,11 +15,10 @@ final class ContainerConstraintValidatorFactory implements ConstraintValidatorFactoryInterface { - /** @var Container */ - private $container; + private Container $container; /** @var ConstraintValidatorInterface[] */ - private $validators; + private array $validators; public function __construct(Container $container) { @@ -35,6 +34,7 @@ public function __construct(Container $container) */ public function getInstance(Constraint $constraint) { + /** @var class-string $name */ $name = $constraint->validatedBy(); if (!isset($this->validators[$name])) { diff --git a/src/DI/ValidatorExtension.php b/src/DI/ValidatorExtension.php index 23dc50f..b8aed71 100644 --- a/src/DI/ValidatorExtension.php +++ b/src/DI/ValidatorExtension.php @@ -5,8 +5,8 @@ use Contributte\Validator\ContainerConstraintValidatorFactory; use Doctrine\Common\Annotations\Reader; use Nette\DI\CompilerExtension; +use Nette\DI\Definitions\ServiceDefinition; use Nette\DI\Definitions\Statement; -use Nette\DI\ServiceDefinition; use Nette\Schema\Expect; use Nette\Schema\Schema; use stdClass; @@ -52,7 +52,7 @@ public function loadConfiguration(): void { $containerBuilder = $this->getContainerBuilder(); - $validatorBuilder = $containerBuilder->addDefinition($this->prefix('validatorBuilder')) + $validatorBuilder = $containerBuilder->addDefinition($this->prefix('validatorBuilder'), new ServiceDefinition()) ->setFactory(ValidatorBuilder::class) ->addSetup('setConstraintValidatorFactory', [new Statement(ContainerConstraintValidatorFactory::class)]) ->setAutowired(false); @@ -62,7 +62,7 @@ public function loadConfiguration(): void $this->setupLoaders($validatorBuilder); $this->setupObjectInitializers($validatorBuilder); - $containerBuilder->addDefinition($this->prefix('validator')) + $containerBuilder->addDefinition($this->prefix('validator'), new ServiceDefinition()) ->setType(ValidatorInterface::class) ->setFactory([$validatorBuilder, 'getValidator']); }