BCard - Documentation technique

EmployeeBusinessCardType extends AbstractType
in package

Formulaire de la carte de visite virtuelle d'un employé, éditable par l'employé lui-même.

Alimente l'entité BusinessCardAize : identité (prénom/nom, mappés via property_path sur firstName/lastName), e-mail, pays (GN par défaut), poste, type d'organisme, domaines de compétences (sélection multiple), bio et information additionnelle (100 caractères maximum, interdiction des caractères </> par une contrainte Regex portée par le formulaire), ainsi qu'une case à cocher de partage dans le réseau BCard. La collection imbriquée phoneNumbers (type enfant BusinessCardPhoneNumberType) exige au moins une entrée (contrainte Count portée par le formulaire).

Les listes de choix industry (secteur d'activité) et skills (compétences) sont chargées dans le constructeur depuis public/assets/json/industries.json et skills.json. Le champ industry n'est pas mappé ('mapped' => false) et complété par le champ industryOther (également non mappé) lorsque le secteur réel de l'entité ne figure pas dans la liste ou vaut « Autre » : ce n'est pas un événement de formulaire qui pré-remplit ces deux champs, mais du code exécuté directement au début de buildForm(), avant l'ajout des champs — il lit $options['data'] pour déterminer la valeur initiale de industryData/industryOtherData, réinjectées ensuite via l'option 'data' des champs industry/industryOther. Un listener POST_SUBMIT réassigne ensuite le secteur de l'entité (setIndustry()) à partir du choix effectué, en repli sur la saisie libre d'industryOther si « Autre » est sélectionné ; c'est le seul listener PRE_SET_DATA du fichier qui, lui, ne traite que la collection phoneNumbers. Le même listener POST_SUBMIT recopie le premier numéro de la collection phoneNumbers dans le champ phoneNumber de l'entité via setPhoneNumber(). Le champ cvFile (CV, PDF, 50 Mo maximum) n'est pas mappé non plus : son enregistrement est laissé au contrôleur appelant.

Table of Contents

Properties

$industryChoices  : array<string|int, mixed>
$skillsChoices  : array<string|int, mixed>

Methods

__construct()  : mixed
buildForm()  : void
configureOptions()  : void

Properties

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

        
On this page

Search results