BusinessCardPhoneNumberType
extends AbstractType
in package
implements
DataMapperInterface
Ligne d'un numéro de téléphone au sein de la collection `phoneNumbers` de `BusinessCardType` (offres Pro/Entreprise et employés, qui autorisent plusieurs numéros par carte).
Pas de data_class : chaque entrée mappe un tableau associatif ['number' => string, 'visible' => bool], via un DataMapperInterface implémenté par la classe elle-même
(mapDataToForms() / mapFormsToData()). Champs : phoneNumberInput (widget
PhoneNumberType non mappé, région par défaut GN, pour la saisie assistée), number
(champ cadré, contenant le numéro normalisé au format international) et visible (case à
cocher contrôlant l'affichage public du numéro).
Un écouteur FormEvents::PRE_SUBMIT recompose number à partir de phoneNumberInput :
l'indicatif du pays sélectionné est résolu via PhoneNumberUtil::getCountryCodeForRegion()
et préfixé au numéro saisi (espaces retirés).
Table of Contents
Interfaces
- DataMapperInterface
Methods
- buildForm() : void
- configureOptions() : void
- mapDataToForms() : void
- mapFormsToData() : void
- normalizePhoneNumber() : string
Methods
buildForm()
public
buildForm(FormBuilderInterface $builder, array<string|int, mixed> $options) : void
Parameters
- $builder : FormBuilderInterface
- $options : array<string|int, mixed>
configureOptions()
public
configureOptions(OptionsResolver $resolver) : void
Parameters
- $resolver : OptionsResolver
mapDataToForms()
public
mapDataToForms(mixed $data, Traversable|array<string|int, FormInterface> $forms) : void
Parameters
- $data : mixed
- $forms : Traversable|array<string|int, FormInterface>
mapFormsToData()
public
mapFormsToData(Traversable|array<string|int, FormInterface> $forms, mixed &$data) : void
Parameters
- $forms : Traversable|array<string|int, FormInterface>
- $data : mixed
normalizePhoneNumber()
private
normalizePhoneNumber(string $phoneNumber) : string
Parameters
- $phoneNumber : string