diff --git a/serializer.rst b/serializer.rst index 4efdbf2dd45..80d0419bd9a 100644 --- a/serializer.rst +++ b/serializer.rst @@ -958,16 +958,22 @@ parameter:: $jsonData = ...; // the serialized JSON data from the previous example $persons = $serializer->deserialize($JsonData, Person::class.'[]', 'json'); -For nested classes, you have to add a PHPDoc type to the property/setter:: +For nested classes, you have to add a PHPDoc type to the property, constructor or setter:: // src/Model/UserGroup.php namespace App\Model; class UserGroup { - private array $members; + /** + * @param Person[] $members + */ + public function __construct( + private array $members, + ) { + } - // ... + // or if you're using a setter /** * @param Person[] $members @@ -976,6 +982,8 @@ For nested classes, you have to add a PHPDoc type to the property/setter:: { $this->members = $members; } + + // ... } .. tip:: @@ -1357,8 +1365,6 @@ normalizers (in order of priority): During denormalization, it supports using the constructor as well as the discovered methods. -:ref:`serializer.encoder ` - .. danger:: Always make sure the ``DateTimeNormalizer`` is registered when diff --git a/serializer/encoders.rst b/serializer/encoders.rst index c8bddc604ba..37f4eee5a04 100644 --- a/serializer/encoders.rst +++ b/serializer/encoders.rst @@ -311,7 +311,8 @@ as a service in your app. If you're using the that's done automatically! If you're not using :ref:`autoconfigure `, make sure -to register your class as a service and tag it with ``serializer.encoder``: +to register your class as a service and tag it with +:ref:`serializer.encoder `: .. configuration-block::