Nous mettrons à jour notre Politique de confidentialité prochainement. En voici un aperçu.

Créer un gestionnaire de collections avec Symfony3

Générer une entité

Testez gratuitement nos 1341 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Toujours en utilisant le générateur, vous allez créer une entité dotée de propriétés. Il s'agit d'un objet qui va pouvoir être utilisé dans votre application.
07:18

Transcription

Alors, avant de travailler réellement avec nos objets, il va falloir les créer. Alors pour créer les objets on va utiliser bien sûr doctrine, évidemment, qui est le système le ORM : Object Relation Maping qui nous permet et bien de travailler avec les objets. Alors, bien sûr elle a les commandes qui vont être utilisés en console, ça va être facile de générer ça. On va créer un objet, qui s'appelle Item, qui portera donc des propriétés : Collection, Title, User, Code, Description, ImageURL, alors. Code ça pourrait nous servir par exemple à mettre des informations de code dans la collection, sachant qu'on va pouvoir générer tout et n'importe quoi comme objet, bah au moins comme ça, on est prêt, on peut mettre ce qu'on veut. User bien sûr ça serait une relation qu'on verra un petit peu plus tard avec l'utilisateur au cours. Et si on n'a pas oumblockra, le fait de pouvoir créer des objets. Or au début on va pas s'embêter avec ça, donc User au départ nous mettra simplement que c'est un intégueur, et puis ça sera bien suffisant. Comment on va faire un doctrine, pour générer et bien une Entité. Alors, la première étape, il va falloir vérifier que vous avez bien configuré la base de données, ça va se passer en deux étapes : parameters.yml que vous avez dans App Config, config.yml que vous avez dans App Config. Les deux, vous les ouvrez et vous regardez bien tout. Dans parameter.yml vous allez configurer précisément votre base de données, vos accès et etc, etc. Et pensez bien sur, je vous sortirai une fenêtre par hpml mysql, avoir créer ah cette base de données, pour qu’elle puisse être utilisée, OK. Bon, si vous avez crée la base de données, vous reliez bien tout, vous êtes tranquille et à partir de là, on va pouvoir travailler. Vous regarderez dans config.yml qu'y a pas de soucis et quand vous allez exécuter la commande, qu'on va taper ensemble, ensuite, vous verrez bien si ça fonctionne ou pas. Si ça fonctionne pas, vous aurez un joli message : d'erreur rouge. Si vous êtes sur Mac, comme moi, sur un Mac vous penserez à rajouter cette ligne, elle est hyper importante, ça c'est une petite astuce, mais vraiment faites-le parce que si non, vous allez avoir des problèmes. Allez, on passe aux consoles, on va aller chercher Bin Console, on a ici tout un panel de commandes doctrines, que l'on peut exécuter en console, qui vous ne permet de travailler. Celle, que l'on va utiliser ensemble pour générer une Entité, ça va être doctrine:generate:entity, entity au singulier, attention, ah. On va donc ici mettre doctrine:generate:entity et on en voit. Vous allez voir que cet outil-là vous servit à générer une Entité à un endroit, que vous souhaitez, directement, en répondant à des questions. Ça c'est génial, parce qu'on a plus qu'à faire, et bien les petites réponses et ça sera très bien. On vous demande d'abord de donner l'emplacement de l'Entité et son nom. Son emplacement ça sera chez nous dans le AppBundle, donc on va taper AppBundle, et ensuite on va faire deux points, exactement le même format que celui qui est demandé ici , et à la suite on va marquer Item, attention avec un I majuscule, s'il vous plaît. Une Entité a toujours une majuscule, et on fait Entrer. Or, si vous passez à cet étape-là, ça veut dire tout a fonctionné, c'est OK. On vous demande ensuite le format, l'utiliser pour le Mapyng. Là, en Symfony 3, on en a plein de différents désformages, je vous conseille de prendre une notation comme ce qui est demandé ici , mais vous pouvez prendre du PHP d'Exel, de View ML, il faudra simplement là en avoir de documentation, comment on déclare. On a notation, ça sera plus simple pour ressort la notation, c'est parti. Et puis à partir de là, vous allez remplir l'Entité, comme vous le voulez, vous allez mettre les noms des champs, les types des champs, etc, etc. Alors, qu'est-ce qu'on a dit qu'on aurait ? On a dit qu'on aurait d'abord une collection. Bon ça, la collection pour le moment, ça va être de la string, donc on va dire simplement OK, une propriété qui s’appellera Collection. Ça va être quoi son type ? Voilà tous les types qui sont disponibles pour une Entité, on a tout ici, Donc, nous on va prendre quoi, seul du texte ou de la string ? Bon ça ba être un nom, on va plutôt prendre de la string. Vous êtes pas obligé de le marquer, parce que regardez, cette défault, là au bout de la ligne, donc on fait simplement Entrer. On vous demande aussi la taille, bon on va mettre du 255, on vous demande si c'est possible de rien mettre dedans, isnullable, est-ce que ça peut être renseigné à nul ? Alors pour un collectionneur, il vaut que tous les objets bénéficient vraiment d'une collection, donc on met faulse. Est-ce que c'est un nom unique ? Non, surtout pas, parce que plusieurs objets pourront être dans la même collection, on continue. Le prochain, Title c'est pareil, c'est de la String 255, ça pas peut être faux et ça peut pas être unique. Le User, on va mettre un user, comme ça, qu'est-ce que ça va être ? Pour nous ça va être un integer, parce que on souhaite avoir des utilisateurs, ah, qu'ils soient en fait enrégistrés on mettra le numéro d'identifiant de l'utilisateur, donc on va garder de l'integer pour le moment. On fait Entrer, c'est nullable. Au début peut-être que oui, donc on va le mettre à true ça, ah c’était plus simple. Et puis est-ce que c'est l'unique ? Non certainement pas. Ensuite, qu'est-ce qu'on a d'autre ? On a dit, le Code. Qu'est-ce que ça peut être un string, c'est peut être suffisant que ça soit un string. On peut le rester en nom. Alors, on veut que ça soit un string de 10 maximum, pour que ça soit une référence, allez hop. Est-ce que c'est nullable ? Mais non, on veut absolument qui est toujours une référence, moins non, ça peut être nullable, true, est-ce que c'est unique ? Ah là pour le cours ça pourrait être unique, mais unique dans la base de données ça voudrait dire qu'un utilisateur et un autre ne peuvent pas avoir le même objet. Ça c'est dommage, donc on va laisser à false. Ensuite on a la Description. Qu'est-ce que ça va être ? Ça va pas être un string, ça va être un texte complet nullable, oui, parce que c'est peu obligatoire pour un objet; Unique, non et enfin, l'ImageUrl, donc on va dire imageUrl, comme ça. Est-ce que on veut que ça soit un string, alors bien sur, bah là on n'a pas les types ah, en mode formulaire, donc (incompréhensible) Oui, ça risque d’être un string, par contre, on ne sait pas au niveau de la taille, parce que ça peut être très long. Alors je vous conseille ici plutôt de mettre un texte, parce que le texte, oui vous voyez qu'il n'a pas de largeur définie, ça peut être autant qu'on veut. Est-ce que c'est nullable ? Oui, parce que c'est pas obligatoire d'avoir une URL, d'avoir une image. Est-ce que c'est unique ? Non, pas forcément. Une fois que vous avez terminé de remplir tous vos champs, vous avez à appuyer sur Entrer. Et on vous dit, regardez, qu'il a généré dans AppBundle un dossier Entité, avec ici un Item.php et qu'il a généré un dossier Repository avec ItemRepository.php. Bon, bah allez voir ça, est-ce que ça a été vraiment fait ? Oui, on a bien Entity et Item.php, et on a bien un Repository, avec un Repository vide pour le moment, on reviendra sur le Repository plus tard. L'Item, bah si on regarde rapidement, effectivement on a bien Item, on a bien tout ce qu'il faut à l’intérieur, là on est quasiment tranquille pour commencer, et vous remarquerez bien qu'ici vous avez les annotations différentes, ça vous permet d'en apprendre un petit plus. Passer par générateur, c'est bien, faut pas le faire tout le temps il faut essayer aussi d'apprendre à les créer à la main, parce que vous voyez que ce n'est qu'une classe, en plus des fois. Il vous met des soulignes qui servent à rien. De temps en temps ils sont les votres un petit peu, mais ça arrive que tout se passe très bien, Là, en l’occurrence c'est quand même très propre, on a les guetteurs, les seteurs, on a tout ce qu'il faut. On va pas non plus cracher sur l'outil, il est très très bien, il vous permet rapidement créer une entité sans s'embêter. Et puis vous remarquerez plus qu'on a ici un ID, qui est autogénéré et qui sera autogénéré, en base de données.

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 !