- 12 heures
- Difficile
Mis à jour le 26/08/2024
Afficher des pages dynamiques
Compétences évaluées
- Afficher des pages dynamiques
Description
Maintenant que la page d’accueil de l’application est en place, vous allez pouvoir travailler sereinement sur le modèle de données. Juliette vous a préparé un Modèle Conceptuel de Données que vous n’avez plus qu’à implémenter.
Bien que les équipes de votre client soient constituées de personnes aux profils généralement techniques, il conviendra aussi d’ajouter une validation des données à toute épreuve. Car comme le dit Juliette :
Ne fais jamais confiance aux entrées utilisateur !
Question 1
Vous commencez judicieusement par vous servir de la commande
make:entity
pour accélérer vos développements.Cependant, certaines colonnes de vos tables en base de données doivent être nullables.
Comment l’indiquer à Doctrine dans vos entités ?
#[ORM\Column(notNullable: false)]
#[ORM\Nullable()]
#[ORM\Column(nullable: true)]
Question 2
Vos entités sont désormais prêtes, et Pierre, votre product owner, aimerait que la structure des bases de données soit mise en place sur les serveurs définitifs au plus vite. Vous vous dépêchez de générer vos fichiers de migration et de les tester sur votre poste.
La commande que vous utilisez est :
symfony console doctrine:migrations:migrate
symfony console doctrine:migrations:apply --all
symfony console doctrine:migrations:generate
symfony console doctrine:migrations:send
Question 3
Maintenant que vous avez livré la structure de la base de données, Pierre aimerait avoir rapidement les formulaires, afin de pouvoir rapidement démarrer ses tests de validation sur les serveurs.
Vous allez créer votre premier
FormType
.Vous créez une classe qui étend
AbstractType
et utilisez l’argument$builder
de sa méthodebuildForm
pour définir les champs de votre formulaire.Quelle est la bonne méthode ?
$builder->define(‘nom_du_champ’)->type(TypeDuChamp::class)
$builder->add(‘nom_du_champ’, TypeDuChamp::class)
$builder->field([‘nom_du_champ’ => TypeDuChamp::class])
- Formations jusqu’à 100 % financées
- Date de début flexible
- Projets professionnalisants
- Mentorat individuel