Créer un gestionnaire de collections avec Symfony3

Récupérer la liste des entités

Testez gratuitement nos 1255 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Quand votre base de données aura des informations sauvegardées, vous pourrez les lister en utilisant Doctrine et son système de récupération d'informations.
04:54

Transcription

Alors c'est bien, on enregistre des Entités, en base de données, c'est parfait. Mais j'aimerais voir les récupérer, moi maintenant ces Entités, et les afficher dans ma Vue. Ce qu'on va faire, c'est qu'on va d'abord dans un premier temps se créer une action particulière, parce qu'on ne va pas faire ça sur la même. Donc, on va créer une Publique fonction, qui va s'appeler ItemsAction, C'est une fonction, on va penser du coup à injecter la request, parce que ça peut être intéressant, pas forcément dans ce cas-là, mais ça va l'être de temps en temps, on va avoir besoin d'injecter la request. Pensez à le faire à chaque fois, comme ça au moins, vous l'aurez et au moins, vous ne serez pas embêté. Ici, on va d'abord répercuter juste voilà, le premier [inaudible] qu'on a là, qui est très simple, on ne va pas dire que c'est Add, mais on va dire que c'est ici list.html.twig. Et puis à cet endroit-là, on viendra récupérer les Items en question. Donc pour le moment on n'a pas vraiment de Vues, ni d'action, on a rien. mais on va donc tout créer. On va se créer donc du coup le liste.html.twig, qui nous manque, et ici, on va faire la même chose, on va récupérer cette information-là, on va la remettre à cet endroit-là, et on n'a pas besoin ici, de Main, on va simplement faire comme on a fait de l'autre coté, un petit container de famille et à l’intérieur, on viendra afficher les Entités. Mais ces Entités, il va falloir les récupérer, comment on va faire pour récupérer les Entités ? On va se baser sur toujours la même chose, l'EM, l'Entity Manager, qui va nous permettre de récupérer également un Repository. Et du coup on vient au Repository, qu'est-ce que c'est le Reposiroty ? Un Repository permet de faire des requêtes en base de données, à partir d'un Repository particulier. Qu'est-ce qu'on veut ? On veut des Items, Vous souvenez, tout à l'heure on a déjà donné le chemin vient vers Repository, on va le réutiliser. Alors on va appeler ça un Repository, comme ça, on va les chercher : « thisgetManager » , alors, est-ce qu'on fait un getManager tout de suite ? Non, on va pas faire ça comme ça, on va plutôt directement récupérer Doctrine. Il faudra toujours passer par Doctrine. Et ici, vous ne récupérerez pas l'Entity Manager, mais le Repository, c'est la grosse différence entre les deux. L'Entity Manager permet de persister et de faire des opérations sur les Items, sur les Entités, alors que Repository, il va permettre de faire des requêtes pour récupérer. Maintenant, on a besoin de savoir sur quel Repository on va travailler. On va travailler sur « AppBundle:item » , le Repository Item, qui se trouve dans AppBundle. En lui donnant cette information, Doctrine va savoir sur quelle base travailler. Maintenant on va récupérer les Items, hé bien, sachez que sur un Repository, vous avez la possibilité d'utiliser ici des méthodes magiques : « fin, findALL, findBy, findOneBy ». C'est pas super à faire, parce que les findAll va revenir à faire à sélecter Toile en MySQL. C'est pas grave, c'est bien quand on démarre de travailler avec ça. Bon, maintenant ces Items, il va falloir les passer à la vue, maintenant pour les passer à la vue, vous allez simplement définir ici ce qu'il va être passé à la vue, c'est à dire Items, qui sera donc disponible, dans la vue, sous ce nom-là, et vous allez placer la récupération de votre Repository, directement, donc la variable. En faisant ça, vous pouvez maintenant ici travailler avec un Foreach. Comment ça marche le Foreach en Twig ? Simplement, on va faire : for item in items, on va récupérer un Item à chaque fois, depuis la collection d'Item. On n'oubliera pas d'utiliser le Tag Info à la forme, parce que tout ça, ce sont des blocks. Maintenant qu'on a ça, on va donc pouvoir utiliser très facilement cet objet Item, qu'on a ici et afficher par exemple une des propriétés. Ça marche comme en JavaScript, ce point, qui permet d’accéder, donc on va demander le Title, comme ça. Et pensez mettre un petit BR, parce que ça va vous générer forcément tous les Items de la page. Maintenant qu'on a ça, il ne manque plus qu'une seule chose, c'est la Route, on va donc câbler une Route, sur et bien de cette action. On va mettre Items ici et on va l'appeler Items, donc en allant se rendre sur Items, on va arriver sur la liste, et en allant sur Item tout simple, on aura le formulaire pour ajouter. Voyons voir, maintenant on va se rendre sur Items, et on va remarquer qu'ici, effectivement ça fonctionne bien, si on agrandit un petit peu, en enlevant ici le panneau de [inaudible], on remarquera qu'il y a une requête qui a été effectuée, on sélecte sur la table Item, en sélectionnant absolument tout, donc on a accès à tout : au Code, on a accès à la Description, etc. Pour y accéder, ce sera toujours pareil, en Twig, ici vous pouvez faire Item, pour Description item.code. Là, on est tranquille, on a réussi à récupérer toute la liste des Items très facilement avec une petite requête en passant par Doctrine, en passant par le Repository en question, c'est à dire Item, et voyez que c'est facile à mettre en place.

Créer un gestionnaire de collections avec Symfony3

Développez une application de gestion de ressources avec Symfony. Prenez en main le DQL (Doctrine Query Language) ainsi que les formulaires, la sécurité, les tests, etc.

2h12 (25 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :19 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 !