mirror of
https://github.com/alrayyes/wiki.git
synced 2024-11-22 11:36:23 +00:00
1.1 KiB
1.1 KiB
date | id | title |
---|---|---|
2020-11-17 | 7d7fc5e8-0fcd-47d7-8857-3f499655d7f2 | Callback Functions To Get/Set Form Fields |
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);
},
])
// ...
;
}
// ...
}