Description Use callback functions to get/set form fields. Data mapper is no longer needed when getter/setter methods don’t directly correlate to property names. Syntax // src/Form/Type/ProductType.php namespace App\Form\Type; use App\Entity\Person; use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormInterface; class PersonType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('name', TextType::class, [ 'getter' => function (Person $person, FormInterface $form): string { return $person->getUserData()->getFirstName(); }, 'setter' => function (Person &$person, ?string $name, FormInterface $form): void { $person->rename($name); }, ]) // ... ; } // ... }