← ClaudeAtlas

serializer-uselisted

Conçoit la (dé)sérialisation Symfony — SerializerInterface, normalizers/encoders (json/xml/csv), attributs
gabrielmustiere/skills · ★ 1 · Data & Documents · score 73
Install: claude install-skill gabrielmustiere/skills
# /serializer-use — (Dé)sérialiser avec le composant Symfony Serializer > **Utilise quand** tu exposes un objet PHP dans une réponse HTTP (JSON/XML), tu hydrates un DTO depuis un payload entrant, tu exportes des entités en CSV, ou tu partages des payloads structurés entre services. > **Pas quand** tu construis une API REST complète avec pagination, filtres, hypermedia → API Platform couvre tout ça et s'appuie déjà sur le Serializer en sous-main. > **Pas quand** tu mappes des DTO entre formes PHP équivalentes sans passer par un format texte → `symfony/object-mapper` (Symfony 7.3+) est plus direct. > **Pas quand** tu veux juste `json_encode` un tableau associatif trivial — inutile d'invoquer le composant pour ça. Tu sépares **normalisation** (objet ↔ tableau) et **encodage** (tableau ↔ format texte). Le Serializer enchaîne les deux via un pipeline de normalizers (un par type géré) et d'encoders (un par format). Les attributs PHP portent la configuration au plus près des classes — pas de config YAML géante. ## Détection préalable (obligatoire) 1. Lire `composer.json` — vérifier `symfony/serializer`. Sinon `composer require symfony/serializer`. 2. Vérifier `symfony/serializer-pack` si on veut les extras (`property-access`, `property-info`, `doctrine/annotations` si anciens tags, `phpdocumentor/reflection-docblock` pour la déduction de types via PHPDoc). Sans `property-info` + reflection-docblock, la dénormalisation d'une collection typée via `@var Item[]` ne marche pas. 3. Vé