Skip to content

Latest commit

 

History

History
43 lines (27 loc) · 1.72 KB

File metadata and controls

43 lines (27 loc) · 1.72 KB

StringToArrayTransformer

  • Classe : AppoloDev\SFToolboxBundle\Form\DataTransformer\StringToArrayTransformer
  • Fichier source : src/Form/DataTransformer/StringToArrayTransformer.php
  • Implémente : Symfony\Component\Form\DataTransformerInterface

Rôle

Transformer de formulaire convertissant un array (représentation "modèle", côté PHP/entité) en chaîne jointe par des virgules (représentation "vue", côté champ HTML), et inversement. Utilisé automatiquement par TomSelectType quand multiple: true.

API

transform(mixed $value): mixed

Sens modèle → vue : si $value est un array, le joint avec , (implode). Sinon retourne $value tel quel.

$transformer->transform(['php', 'symfony']); // "php,symfony"

reverseTransform(mixed $value): ?array

Sens vue → modèle : si $value est une chaîne, la découpe sur , (explode) et retourne le tableau obtenu. Sinon retourne null.

$transformer->reverseTransform('php,symfony'); // ['php', 'symfony']
$transformer->reverseTransform(42); // null

Exemple d'usage complet

use AppoloDev\SFToolboxBundle\Form\DataTransformer\StringToArrayTransformer;

$builder->get('tags')->addModelTransformer(new StringToArrayTransformer());

C'est exactement ce que fait automatiquement TomSelectType en interne quand l'option multiple vaut true — vous n'avez pas besoin de l'ajouter vous-même dans ce cas précis.

Voir aussi