Le 14 septembre 2017, nous avons publié une version actualisée de notre Politique de confidentialité. En utilisant video2brain.com vous vous engagez à respecter ces documents mis à jour. Veuillez donc prendre quelques minutes pour les consulter.

Découvrir Symfony3

Créer un premier formulaire

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Créer un formulaire n'est pas compliqué avec Symfony, mais il faut respecter quelques règles, et une définition particulière.
05:43

Transcription

Allez, on va maintenant parler de formulaire. Ça, c'est une partie géniale ! Ça, c'est une partie qui intéresse beaucoup de monde. Comment on va créer des formulaires en Symfony ? Alors, on va ouvrir d'abord le my.html.twig et le MyController. OK ? Une fois que ça, c'est fait, on va commencer à coder. Il faut savoir que sous Symfony, nous disposons d'un framework de formulaire. Un super composant qui a été créé, qui est relié dans Symfony, qui nous permet de faire des formulaires de façon très simple. Alors, je ne dis pas que c'est la meilleure des manières de faire, je dis simplement que ça existe. Et vous allez voir comment on l'utilise ce framework de formulaire. D'abord, on va créer une variable form. Et puis sur this, le controller, on va utiliser un createFormBuilder. Donc, vous allez ici, avec ça, créer un formulaire à partir d'un FormBuilder. Attention, vous êtes sur un FormBuilder. Donc, ce FormBuilder, il va avoir des possibilités, des capacités que vous allez pouvoir utiliser. Comment on fait ? On va y aller à grand coup de add. Avec add, vous allez ajouter des champs. Donc, createFormBuilder, je crée un formulaire. Add, je vais rajouter des champs. Et à la fin, je vais faire une récupération du formulaire. Avec add, ici comme ça, vous allez donner à chaque fois des noms à vos champs. Par exemple, le champ name. Et vous allez ensuite donner un type de champs. Alors attention, les types de champs dans les anciennes versions de Symfony, si vous avez déjà vu ça peut-être, ou si vous tombez sur des exemples plus tard. Par exemple, on avait un truc comme ça là, text. Ça marche plus ça. Il faut utiliser des class et ces class sont rangées dans : Form\Extensions\Core\Type, OK ? Donc, on a par exemple le type Text, on va voir après dans une prochaine vidéo tous les types existants. TextType comme ça, et class, voilà. Voilà. Ça va vous retourner la class et ça, ça va être bon. Là, vous êtes OK, vous venez d'ajouter un champ de type Text qui porte le nom name qu'on va pouvoir remplir très facilement. On va maintenant lui dire de récupérer le formulaire. getForm. Et là, avec ces lignes-là, vous avez terminé la construction de votre formulaire attention, là, on fait une construction de formulaire classique. Une construction de formulaire simple. D'accord ? On n'est pas en train de faire un formulaire à partir d'une entité ou travailler avec un modèle déjà créé. Non. On le crée soi-même en ajoutant des champs et c'est très bien. Maintenant que vous avez fait ça, ce formulaire, il va bien falloir le récupérer et l'afficher dans le template. Alors, attention, pour afficher dans le template, on va ici rajouter une nouvelle variable que l'on va attacher au template qui sera form, dans laquelle on va demander ici, de faire un createView. Ça, c'est obligatoire. Si vous ne faites pas de createView donc, si vous ne demandez pas au formulaire de vous générer la vue pour votre formulaire, le helper en twig ne marchera pas, ce ne sera pas possible de l'utiliser. C'est les étapes à respecter. Générez votre formulaire, ajoutez tous les champs que vous voulez, faites un getForm à la fin. Et ensuite ici, venez récupérer le formulaire en faisant un createView. Une fois que vous avez fait ça, vous êtes prêt à l'afficher dans le template. Bon, alors, l'affichage dans le template dans ce cas, comment ça marche ? Ça marche très simplement, on pourrait dire, ça marche bien. On va ouvrir ici comme ça, un twig. Faire un affichage twig comme on avait fait ici pour name. On va utiliser un helper qui est le helper form. Il porte bien son nom. Qui s'ouvre et se ferme comme ça, avec une ouverture, fermeture de parenthèse. Et à l'intérieur, il faut lui donner à cet utilitaire form, un formulaire qu'on a passé à la vue. Un formulaire avec un rendu, comment dire, ce qu'on a ici, un createView, sinon, ça ne marchera pas. Donc, un objet déjà rendu directement dans le helper. Comme ça, form(form). Alors oui, ce n'est pas très parlant parce qu'on l'a appelé form, du coup, il y a un utilitaire form et puis ensuite, on fait un form derrière. Bon, je suis d'accord avec vous. Mais ça marche donc, vu que ça marche, c'est très bien. On va aller voir maintenant ce qui se passe dans la vue. Je vais recharger et je me retrouve tout de suite avec un formulaire. Ça, c'est génial. Ça veut dire qu'ici, du coup, là, je peux déjà taper. C'est un champ de type Text, il n'y a pas de problèmes. C'est nickel, ça marche. Voyons voir. On va ouvrir le panneau de debug de Chrome. Moi, je suis sous Chrome là actuellement. Et puis, on va aller regarder un peu ce qui a été généré. Et regardez, ça génère tout. Ça génère une ouverture de balise form avec le name form. Une méthod post. C'est du post par défaut. Ensuite, à l'intérieur, une div. Ça fonctionne en div avec un id form, OK. Très bien. À l'intérieur, une première div avec un label. Un label form_name OK. requiredName, donc ça, c'est pour le label. Et puis derrière, un input de type Text avec un id form_name, c'est génial. Un name_form avec les crochets name pour pouvoir récupérer ça au format objet. Ça, c'est super aussi. Et un type required. C'est required par défaut de base. Et si on descend un peu plus bas, c'est là où se trouve plus ou moins toute la magie de Symfony, c'est qu'il vous sécurise absolument tout. Symfony, c'est un framework qui est secure de base. Donc là, pour les formulaires, vous aurez à chaque fois un token qui va vérifier ou qui va vous permettre de vérifier derrière que ce qui est soumis est un formulaire qui a été généré. Une soumission de formulaire est soumise automatiquement à un token qui est créé, qui est autogénéré, qui est unique à la génération du template. Ce qui veut dire que du coup, on ne peut pas avoir de soumission de formulaire par un robot ou directement sur l'URL de soumission. Il faudra obligatoirement passer par la page. Maintenant, ça, c'est un peu moins vrai avec tous les CASPRJS et toutes les techniques qui existent pour aller faire du scraping de page mais c'est vrai, ça sécurise quand même un brin les différentes formulaires, il faut quand même se rendre sur la page, c'est quand même un peu plus compliqué à coder. Ce qui veut dire que là, pour générer les formulaires, vous voyez que c'est très facile. On ne se prend pas la tête, on définit juste le formulaire, on dit ce qu'il y a dedans et puis, on le génère. On n'a pas mis de bouton, on n'a pas mis tout ça. Évidemment, on va voir qu'après, il y a tout un tas de types de formulaires qui existent et on va les passer en revue.

Découvrir Symfony3

​Prenez en main Symfony3 pour développer des applications riches. Apprenez à créer des routes et des contrôleurs, créez des formulaires, sauvegardez des données, etc.

3h27 (45 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :7 avr. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !