diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ec3a74d..fba17bb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,7 +11,7 @@ jobs: strategy: fail-fast: false matrix: - php-versions: ['8.2', '8.3'] + php-versions: ['8.3', '8.4'] dependency-versions: ['lowest', 'highest'] runs-on: ubuntu-latest steps: diff --git a/composer.json b/composer.json index 5e4129b..38189bd 100644 --- a/composer.json +++ b/composer.json @@ -21,7 +21,7 @@ }, "require": { "ext-intl": "*", - "php": "^7.4|^8.0", + "php": "^8.3", "symfony/framework-bundle": "^6.0|^7.0", "assoconnect/php-date": "^2.11", "doctrine/dbal": "^2.10|^3.0", diff --git a/src/AbsoluteDateClock.php b/src/AbsoluteDateClock.php index a129c15..ba45494 100644 --- a/src/AbsoluteDateClock.php +++ b/src/AbsoluteDateClock.php @@ -17,7 +17,7 @@ public static function now(\DateTimeZone $timeZone): AbsoluteDate /** * @throws \DateMalformedStringException */ - public static function relative(string $relative = 'now', \DateTimeZone $timezone = null): AbsoluteDate + public static function relative(string $relative = 'now', ?\DateTimeZone $timezone = null): AbsoluteDate { return AbsoluteDate::createInTimezone($timezone ?? new \DateTimeZone('UTC'), new DatePoint($relative)); } diff --git a/src/Normalizer/AbsoluteDateNormalizer.php b/src/Normalizer/AbsoluteDateNormalizer.php index 4774219..034cd2d 100644 --- a/src/Normalizer/AbsoluteDateNormalizer.php +++ b/src/Normalizer/AbsoluteDateNormalizer.php @@ -24,7 +24,7 @@ class AbsoluteDateNormalizer implements NormalizerInterface, DenormalizerInterfa * @param mixed[] $context * @throws InvalidArgumentException */ - public function normalize($object, string $format = null, array $context = []): string + public function normalize($object, ?string $format = null, array $context = []): string { if (!$object instanceof AbsoluteDate) { throw new InvalidArgumentException(sprintf( @@ -42,7 +42,7 @@ public function normalize($object, string $format = null, array $context = []): * {@inheritdoc} * @param mixed[] $context */ - public function supportsNormalization(mixed $data, string $format = null, array $context = []): bool + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool { return $data instanceof AbsoluteDate; } @@ -53,7 +53,7 @@ public function supportsNormalization(mixed $data, string $format = null, array * @param mixed[] $context * @throws NotNormalizableValueException */ - public function denormalize($data, string $type, string $format = null, array $context = []): ?AbsoluteDate + public function denormalize($data, string $type, ?string $format = null, array $context = []): ?AbsoluteDate { $dateTimeFormat = $context[self::FORMAT_KEY] ?? AbsoluteDate::DEFAULT_DATE_FORMAT; diff --git a/src/Translatable/AbsoluteDateTranslatable.php b/src/Translatable/AbsoluteDateTranslatable.php index f5cc045..21407d7 100644 --- a/src/Translatable/AbsoluteDateTranslatable.php +++ b/src/Translatable/AbsoluteDateTranslatable.php @@ -34,7 +34,7 @@ public function __construct( $this->timezone = new DateTimeZone('UTC'); } - public function trans(TranslatorInterface $translator, string $locale = null): string + public function trans(TranslatorInterface $translator, ?string $locale = null): string { if (null === $locale) { $locale = $translator->getLocale(); diff --git a/src/Twig/Extension/AbsoluteDateExtension.php b/src/Twig/Extension/AbsoluteDateExtension.php index 17b5650..fcd6120 100644 --- a/src/Twig/Extension/AbsoluteDateExtension.php +++ b/src/Twig/Extension/AbsoluteDateExtension.php @@ -26,7 +26,7 @@ public function getFilters(): array ]; } - public function formatAbsoluteDate(AbsoluteDate $date, string $locale = null): string + public function formatAbsoluteDate(AbsoluteDate $date, ?string $locale = null): string { return (new AbsoluteDateTranslatable($date))->trans($this->translator, $locale); }