diff --git a/src/Symfony/Bridge/Doctrine/Form/DataTransformer/CollectionToArrayTransformer.php b/src/Symfony/Bridge/Doctrine/Form/DataTransformer/CollectionToArrayTransformer.php index d5dc1a23b72a6..61fc5f8c6e72b 100644 --- a/src/Symfony/Bridge/Doctrine/Form/DataTransformer/CollectionToArrayTransformer.php +++ b/src/Symfony/Bridge/Doctrine/Form/DataTransformer/CollectionToArrayTransformer.php @@ -18,6 +18,8 @@ /** * @author Bernhard Schussek + * + * @implements DataTransformerInterface */ class CollectionToArrayTransformer implements DataTransformerInterface { diff --git a/src/Symfony/Component/Form/DataTransformerInterface.php b/src/Symfony/Component/Form/DataTransformerInterface.php index 8495905e170b6..edb3f83c0be33 100644 --- a/src/Symfony/Component/Form/DataTransformerInterface.php +++ b/src/Symfony/Component/Form/DataTransformerInterface.php @@ -17,6 +17,9 @@ * Transforms a value between different representations. * * @author Bernhard Schussek + * + * @template TValue + * @template TTransformedValue */ interface DataTransformerInterface { @@ -53,9 +56,9 @@ interface DataTransformerInterface * of the first data transformer outputs NULL, the second must be able to * process that value. * - * @param mixed $value The value in the original representation + * @param TValue|null $value The value in the original representation * - * @return mixed + * @return TTransformedValue|null * * @throws TransformationFailedException when the transformation fails */ @@ -82,9 +85,9 @@ public function transform(mixed $value); * By convention, reverseTransform() should return NULL if an empty string * is passed. * - * @param mixed $value The value in the transformed representation + * @param TTransformedValue|null $value The value in the transformed representation * - * @return mixed + * @return TValue|null * * @throws TransformationFailedException when the transformation fails */ diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/ArrayToPartsTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/ArrayToPartsTransformer.php index c02b46dc10ec3..2035eb0873bbc 100644 --- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/ArrayToPartsTransformer.php +++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/ArrayToPartsTransformer.php @@ -16,6 +16,8 @@ /** * @author Bernhard Schussek + * + * @implements DataTransformerInterface */ class ArrayToPartsTransformer implements DataTransformerInterface { diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/BaseDateTimeTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/BaseDateTimeTransformer.php index 142f4894e1401..c6ff9cd1aef4a 100644 --- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/BaseDateTimeTransformer.php +++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/BaseDateTimeTransformer.php @@ -14,6 +14,10 @@ use Symfony\Component\Form\DataTransformerInterface; use Symfony\Component\Form\Exception\InvalidArgumentException; +/** + * @template TTransformedValue + * @implements DataTransformerInterface<\DateTimeInterface, TTransformedValue> + */ abstract class BaseDateTimeTransformer implements DataTransformerInterface { protected static $formats = [ diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/BooleanToStringTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/BooleanToStringTransformer.php index 1e6d902447c5e..e91bdb4dbfe8b 100644 --- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/BooleanToStringTransformer.php +++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/BooleanToStringTransformer.php @@ -20,6 +20,8 @@ * * @author Bernhard Schussek * @author Florian Eckerstorfer + * + * @implements DataTransformerInterface */ class BooleanToStringTransformer implements DataTransformerInterface { diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/ChoiceToValueTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/ChoiceToValueTransformer.php index f7b0798224320..f9411528ac454 100644 --- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/ChoiceToValueTransformer.php +++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/ChoiceToValueTransformer.php @@ -17,6 +17,8 @@ /** * @author Bernhard Schussek + * + * @implements DataTransformerInterface */ class ChoiceToValueTransformer implements DataTransformerInterface { diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/ChoicesToValuesTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/ChoicesToValuesTransformer.php index e2f1f2f22d107..f284ff34f9234 100644 --- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/ChoicesToValuesTransformer.php +++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/ChoicesToValuesTransformer.php @@ -17,6 +17,8 @@ /** * @author Bernhard Schussek + * + * @implements DataTransformerInterface */ class ChoicesToValuesTransformer implements DataTransformerInterface { diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateIntervalToArrayTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateIntervalToArrayTransformer.php index 69431db90d07a..8638e4a84235e 100644 --- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateIntervalToArrayTransformer.php +++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateIntervalToArrayTransformer.php @@ -19,6 +19,8 @@ * Transforms between a normalized date interval and an interval string/array. * * @author Steffen Roßkamp + * + * @implements DataTransformerInterface<\DateInterval, array> */ class DateIntervalToArrayTransformer implements DataTransformerInterface { diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateIntervalToStringTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateIntervalToStringTransformer.php index 41d6f6f2b3d60..4160f8f34c06e 100644 --- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateIntervalToStringTransformer.php +++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateIntervalToStringTransformer.php @@ -19,6 +19,8 @@ * Transforms between a date string and a DateInterval object. * * @author Steffen Roßkamp + * + * @implements DataTransformerInterface<\DateInterval, string> */ class DateIntervalToStringTransformer implements DataTransformerInterface { diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeImmutableToDateTimeTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeImmutableToDateTimeTransformer.php index 5726147dbb483..3f285b4a3d2e5 100644 --- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeImmutableToDateTimeTransformer.php +++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeImmutableToDateTimeTransformer.php @@ -18,6 +18,8 @@ * Transforms between a DateTimeImmutable object and a DateTime object. * * @author Valentin Udaltsov + * + * @implements DataTransformerInterface<\DateTimeImmutable, \DateTime> */ final class DateTimeImmutableToDateTimeTransformer implements DataTransformerInterface { diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToArrayTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToArrayTransformer.php index e44c623d00ae6..1f48aed1ad2ba 100644 --- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToArrayTransformer.php +++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToArrayTransformer.php @@ -18,6 +18,8 @@ * * @author Bernhard Schussek * @author Florian Eckerstorfer + * + * @extends BaseDateTimeTransformer */ class DateTimeToArrayTransformer extends BaseDateTimeTransformer { diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToHtml5LocalDateTimeTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToHtml5LocalDateTimeTransformer.php index 25e82f359bbe8..40cd1b89df64f 100644 --- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToHtml5LocalDateTimeTransformer.php +++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToHtml5LocalDateTimeTransformer.php @@ -17,6 +17,8 @@ * @author Franz Wilding * @author Bernhard Schussek * @author Fred Cox + * + * @extends BaseDateTimeTransformer */ class DateTimeToHtml5LocalDateTimeTransformer extends BaseDateTimeTransformer { @@ -29,7 +31,7 @@ class DateTimeToHtml5LocalDateTimeTransformer extends BaseDateTimeTransformer * input is an RFC3339 date followed by 'T', followed by an RFC3339 time. * https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#valid-local-date-and-time-string * - * @param \DateTime|\DateTimeInterface $dateTime A DateTime object + * @param \DateTimeInterface $dateTime * * @throws TransformationFailedException If the given value is not an * instance of \DateTime or \DateTimeInterface @@ -40,8 +42,8 @@ public function transform(mixed $dateTime): string return ''; } - if (!$dateTime instanceof \DateTime && !$dateTime instanceof \DateTimeInterface) { - throw new TransformationFailedException('Expected a \DateTime or \DateTimeInterface.'); + if (!$dateTime instanceof \DateTimeInterface) { + throw new TransformationFailedException('Expected a \DateTimeInterface.'); } if ($this->inputTimezone !== $this->outputTimezone) { diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformer.php index 2c1b6c3931c9f..5e4011d1a75dd 100644 --- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformer.php +++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformer.php @@ -19,6 +19,8 @@ * * @author Bernhard Schussek * @author Florian Eckerstorfer + * + * @extends BaseDateTimeTransformer */ class DateTimeToLocalizedStringTransformer extends BaseDateTimeTransformer { @@ -95,7 +97,7 @@ public function transform(mixed $dateTime): string /** * Transforms a localized date string/array into a normalized date. * - * @param string|array $value Localized date string/array + * @param string $value Localized date string * * @throws TransformationFailedException if the given value is not a string, * if the date could not be parsed diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToRfc3339Transformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToRfc3339Transformer.php index 7b222e3f2139f..63f12b1f179fa 100644 --- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToRfc3339Transformer.php +++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToRfc3339Transformer.php @@ -15,6 +15,8 @@ /** * @author Bernhard Schussek + * + * @extends BaseDateTimeTransformer */ class DateTimeToRfc3339Transformer extends BaseDateTimeTransformer { diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToStringTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToStringTransformer.php index 6e68b5ebe15ea..e34086e689b99 100644 --- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToStringTransformer.php +++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToStringTransformer.php @@ -18,6 +18,8 @@ * * @author Bernhard Schussek * @author Florian Eckerstorfer + * + * @extends BaseDateTimeTransformer */ class DateTimeToStringTransformer extends BaseDateTimeTransformer { diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToTimestampTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToTimestampTransformer.php index 9edf5d06380d1..33c1b1d599a8c 100644 --- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToTimestampTransformer.php +++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToTimestampTransformer.php @@ -18,6 +18,8 @@ * * @author Bernhard Schussek * @author Florian Eckerstorfer + * + * @extends BaseDateTimeTransformer */ class DateTimeToTimestampTransformer extends BaseDateTimeTransformer { diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeZoneToStringTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeZoneToStringTransformer.php index e6e575d7698ef..f7bda175118ba 100644 --- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeZoneToStringTransformer.php +++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeZoneToStringTransformer.php @@ -18,6 +18,8 @@ * Transforms between a timezone identifier string and a DateTimeZone object. * * @author Roland Franssen + * + * @implements DataTransformerInterface<\DateTimeZone|array<\DateTimeZone>, string|array> */ class DateTimeZoneToStringTransformer implements DataTransformerInterface { diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/IntlTimeZoneToStringTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/IntlTimeZoneToStringTransformer.php index 86849c4ea8190..d379164a7a9af 100644 --- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/IntlTimeZoneToStringTransformer.php +++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/IntlTimeZoneToStringTransformer.php @@ -18,6 +18,8 @@ * Transforms between a timezone identifier string and a IntlTimeZone object. * * @author Roland Franssen + * + * @implements DataTransformerInterface<\IntlTimeZone|array<\IntlTimeZone>, string|array> */ class IntlTimeZoneToStringTransformer implements DataTransformerInterface { diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php index b5b43d5acf9bc..5ab33b4c945a1 100644 --- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php +++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php @@ -20,6 +20,8 @@ * * @author Bernhard Schussek * @author Florian Eckerstorfer + * + * @implements DataTransformerInterface */ class NumberToLocalizedStringTransformer implements DataTransformerInterface { diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/PercentToLocalizedStringTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/PercentToLocalizedStringTransformer.php index 9f252af5b9693..123235bbec200 100644 --- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/PercentToLocalizedStringTransformer.php +++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/PercentToLocalizedStringTransformer.php @@ -20,6 +20,8 @@ * * @author Bernhard Schussek * @author Florian Eckerstorfer + * + * @implements DataTransformerInterface */ class PercentToLocalizedStringTransformer implements DataTransformerInterface { diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/StringToFloatTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/StringToFloatTransformer.php index 4e04ab6d9edf7..09b5e51faf786 100644 --- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/StringToFloatTransformer.php +++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/StringToFloatTransformer.php @@ -14,6 +14,9 @@ use Symfony\Component\Form\DataTransformerInterface; use Symfony\Component\Form\Exception\TransformationFailedException; +/** + * @implements DataTransformerInterface + */ class StringToFloatTransformer implements DataTransformerInterface { private ?int $scale; diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/UlidToStringTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/UlidToStringTransformer.php index c9cf32a2d57ca..7ace73ad09e88 100644 --- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/UlidToStringTransformer.php +++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/UlidToStringTransformer.php @@ -19,6 +19,8 @@ * Transforms between a ULID string and a Ulid object. * * @author Pavel Dyakonov + * + * @implements DataTransformerInterface */ class UlidToStringTransformer implements DataTransformerInterface { diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/UuidToStringTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/UuidToStringTransformer.php index 392ee0b5dd4e6..4fd6378e09e1e 100644 --- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/UuidToStringTransformer.php +++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/UuidToStringTransformer.php @@ -19,6 +19,8 @@ * Transforms between a UUID string and a Uuid object. * * @author Pavel Dyakonov + * + * @implements DataTransformerInterface */ class UuidToStringTransformer implements DataTransformerInterface { diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/ValueToDuplicatesTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/ValueToDuplicatesTransformer.php index 11b03c5544261..2399abf73c7a3 100644 --- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/ValueToDuplicatesTransformer.php +++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/ValueToDuplicatesTransformer.php @@ -16,6 +16,8 @@ /** * @author Bernhard Schussek + * + * @implements DataTransformerInterface */ class ValueToDuplicatesTransformer implements DataTransformerInterface { diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/WeekToArrayTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/WeekToArrayTransformer.php index 1cdafb19a3229..c10bc735f649d 100644 --- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/WeekToArrayTransformer.php +++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/WeekToArrayTransformer.php @@ -18,6 +18,8 @@ * Transforms between an ISO 8601 week date string and an array. * * @author Damien Fayet + * + * @implements DataTransformerInterface */ class WeekToArrayTransformer implements DataTransformerInterface {