diff --git a/composer.json b/composer.json index 381c659..e135cad 100644 --- a/composer.json +++ b/composer.json @@ -28,30 +28,30 @@ } }, "require": { - "doctrine/doctrine-bundle": "^2.12", + "doctrine/doctrine-bundle": "^2.12|^3.0", "giggsey/libphonenumber-for-php": "^9.0", "php": "^8.4", - "symfony/http-kernel": "^7.0", - "symfony/validator": "^7.0", + "symfony/http-kernel": "^7.0|^8.0", + "symfony/validator": "^7.0|^8.0", "egulias/email-validator": "^4.0", - "symfony/property-access": "^7.0", + "symfony/property-access": "^7.0|^8.0", "jeremykendall/php-domain-parser": "^6.0", "moneyphp/money": "^4.0", "assoconnect/php-date": "^2.0", "doctrine/orm": "^3.0", - "symfony/intl": "^7.0", + "symfony/intl": "^7.0|^8.0", "assoconnect/doctrine-types-bundle": "^v2.16", "assoconnect/php-percent":"^1.1", "assoconnect/absolute-percent-value-bundle": "^1.5", "webmozart/assert": "^1.11", "psr/simple-cache": "^1.0", - "symfony/cache": "^7.0" + "symfony/cache": "^7.0|^8.0" }, "require-dev": { - "symfony/phpunit-bridge": "^7.0", - "symfony/framework-bundle": "^7.0", - "symfony/var-exporter": "^7.0", - "symfony/yaml": "^7.0", + "symfony/phpunit-bridge": "^7.0|^8.0", + "symfony/framework-bundle": "^7.0|^8.0", + "symfony/var-exporter": "^7.0|^8.0", + "symfony/yaml": "^7.0|^8.0", "dg/bypass-finals": "^1.1", "assoconnect/php-quality-config": "^2.2", "guzzlehttp/guzzle": "^7.7", diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index 8dae39d..c317f81 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -588,12 +588,6 @@ parameters: count: 1 path: src/Validator/Constraints/FloatScale.php - - - message: '#^Method AssoConnect\\ValidatorBundle\\Validator\\Constraints\\FrenchRna\:\:__construct\(\) has parameter \$options with no value type specified in iterable type array\.$#' - identifier: missingType.iterableValue - count: 1 - path: src/Validator/Constraints/FrenchRna.php - - message: '#^Public property `message` not marked as readonly\.$#' identifier: shipmonk.publicPropertyNotReadonly diff --git a/src/DependencyInjection/AssoConnectValidatorExtension.php b/src/DependencyInjection/AssoConnectValidatorExtension.php index cf4a638..5f19541 100644 --- a/src/DependencyInjection/AssoConnectValidatorExtension.php +++ b/src/DependencyInjection/AssoConnectValidatorExtension.php @@ -7,8 +7,8 @@ use AssoConnect\ValidatorBundle\Validator\ConstraintsSetProvider\Field\FieldConstraintsSetProviderInterface; use Symfony\Component\Config\FileLocator; use Symfony\Component\DependencyInjection\ContainerBuilder; +use Symfony\Component\DependencyInjection\Extension\Extension; use Symfony\Component\DependencyInjection\Loader\YamlFileLoader; -use Symfony\Component\HttpKernel\DependencyInjection\Extension; class AssoConnectValidatorExtension extends Extension { diff --git a/src/Validator/Constraints/Email.php b/src/Validator/Constraints/Email.php index 9e46d20..a69e59f 100644 --- a/src/Validator/Constraints/Email.php +++ b/src/Validator/Constraints/Email.php @@ -4,6 +4,7 @@ namespace AssoConnect\ValidatorBundle\Validator\Constraints; +use Symfony\Component\Validator\Attribute\HasNamedArguments; use Symfony\Component\Validator\Constraints\Email as _Email; /** @@ -20,6 +21,7 @@ class Email extends _Email public bool $checkDNS = false; + #[HasNamedArguments] public function __construct( ?string $message = null, ?string $mode = null, diff --git a/src/Validator/Constraints/FloatScale.php b/src/Validator/Constraints/FloatScale.php index 7979be6..607cfa4 100644 --- a/src/Validator/Constraints/FloatScale.php +++ b/src/Validator/Constraints/FloatScale.php @@ -4,6 +4,7 @@ namespace AssoConnect\ValidatorBundle\Validator\Constraints; +use Symfony\Component\Validator\Attribute\HasNamedArguments; use Symfony\Component\Validator\Constraint; /** @@ -18,6 +19,10 @@ class FloatScale extends Constraint public int $scale; + /** + * @param array|null $groups + */ + #[HasNamedArguments] public function __construct( int $scale, ?array $groups = null, diff --git a/src/Validator/Constraints/FrenchRna.php b/src/Validator/Constraints/FrenchRna.php index 8f83073..1c80766 100755 --- a/src/Validator/Constraints/FrenchRna.php +++ b/src/Validator/Constraints/FrenchRna.php @@ -4,6 +4,7 @@ namespace AssoConnect\ValidatorBundle\Validator\Constraints; +use Symfony\Component\Validator\Attribute\HasNamedArguments; use Symfony\Component\Validator\Constraint; /** @@ -16,13 +17,16 @@ class FrenchRna extends Constraint public string $message = 'The value {{ value }} is not a valid RNA identifier.'; + /** + * @param array|null $groups + */ + #[HasNamedArguments] public function __construct( - ?array $options = null, ?string $message = null, ?array $groups = null, mixed $payload = null, ) { - parent::__construct($options, $groups, $payload); + parent::__construct(groups: $groups, payload: $payload); $this->message = $message ?? $this->message; } diff --git a/src/Validator/Constraints/FrenchSiren.php b/src/Validator/Constraints/FrenchSiren.php index 460278a..5899cd1 100755 --- a/src/Validator/Constraints/FrenchSiren.php +++ b/src/Validator/Constraints/FrenchSiren.php @@ -4,6 +4,7 @@ namespace AssoConnect\ValidatorBundle\Validator\Constraints; +use Symfony\Component\Validator\Attribute\HasNamedArguments; use Symfony\Component\Validator\Constraints\Luhn; /** @@ -15,20 +16,18 @@ class FrenchSiren extends Luhn public const INVALID_FORMAT_ERROR = '4d762774-3g50-4bd5-a6d5-b10a3299d8d3'; /** - * @param array|null $options * @param array|null $groups */ + #[HasNamedArguments] public function __construct( - ?array $options = null, ?string $message = null, ?array $groups = null, mixed $payload = null, ) { parent::__construct( - $options, - $message ?? 'The value {{ value }} is not a valid SIREN number.', - $groups, - $payload, + message: $message ?? 'The value {{ value }} is not a valid SIREN number.', + groups: $groups, + payload: $payload, ); } } diff --git a/src/Validator/Constraints/FrenchSiret.php b/src/Validator/Constraints/FrenchSiret.php index 63460ea..3a890b0 100644 --- a/src/Validator/Constraints/FrenchSiret.php +++ b/src/Validator/Constraints/FrenchSiret.php @@ -4,6 +4,7 @@ namespace AssoConnect\ValidatorBundle\Validator\Constraints; +use Symfony\Component\Validator\Attribute\HasNamedArguments; use Symfony\Component\Validator\Constraints\Luhn; /** @@ -15,20 +16,18 @@ class FrenchSiret extends Luhn public const INVALID_FORMAT_ERROR = 'cbe06561-776e-45c2-b33c-a73141746d43'; /** - * @param array|null $options * @param array|null $groups */ + #[HasNamedArguments] public function __construct( - ?array $options = null, ?string $message = null, ?array $groups = null, mixed $payload = null, ) { parent::__construct( - $options, - $message ?? 'The value {{ value }} is not a valid SIRET number.', - $groups, - $payload, + message: $message ?? 'The value {{ value }} is not a valid SIRET number.', + groups: $groups, + payload: $payload, ); } } diff --git a/src/Validator/Constraints/Money.php b/src/Validator/Constraints/Money.php index 9d71407..96a74be 100644 --- a/src/Validator/Constraints/Money.php +++ b/src/Validator/Constraints/Money.php @@ -4,6 +4,7 @@ namespace AssoConnect\ValidatorBundle\Validator\Constraints; +use Symfony\Component\Validator\Attribute\HasNamedArguments; use Symfony\Component\Validator\Constraint; /** @@ -17,6 +18,10 @@ class Money extends Constraint public float $min = 0.0; public float $max = self::MAX; + /** + * @param array|null $groups + */ + #[HasNamedArguments] public function __construct( float $min = 0.0, float $max = self::MAX, diff --git a/src/Validator/Constraints/Postal.php b/src/Validator/Constraints/Postal.php index 4952c65..3effac0 100644 --- a/src/Validator/Constraints/Postal.php +++ b/src/Validator/Constraints/Postal.php @@ -4,6 +4,7 @@ namespace AssoConnect\ValidatorBundle\Validator\Constraints; +use Symfony\Component\Validator\Attribute\HasNamedArguments; use Symfony\Component\Validator\Constraint; #[\Attribute] @@ -16,6 +17,10 @@ class Postal extends Constraint public string $countryPropertyPath; + /** + * @param array|null $groups + */ + #[HasNamedArguments] public function __construct( string $countryPropertyPath, ?array $groups = null,