Symfony 3 Générer une copie d'une entité

Fermé
blackduck Messages postés 817 Date d'inscription mercredi 20 février 2013 Statut Membre Dernière intervention 24 novembre 2018 - Modifié le 18 juil. 2018 à 14:46
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 - 18 juil. 2018 à 20:15
Bonjour,

Je développe mon premier vrai projet sous Symfony 3, j'aurai besoin des lumières d'une âme charitable.

Mon projet contient un grand nombre de formulaires, dans ces derniers j'utilise des collections au niveau de mes tableaux contenant des radio button ainsi que des champs texte.

Il se trouve que plusieurs de mes collections sont visuellement identiques mais ne représentent pas les mêmes entités.

Je me suis vite retrouvé à copier coller les classes, classeRepository, classeType etc.

Je cherche un moyen de générer automatiquement dans l'arborescence une sorte de copie d'une classe (mêmes attributs, méthodes etc.) avec l'ensemble des fichiers qui y sont liés en changeant uniquement le nom de la classe qui sera présente dans l'ensemble des noms des fichiers liés. Cela me ferait gagner un temps énorme.

En espérant que je me sois exprimé correctement sur le besoin, si quelqu'un à une solution, une source ou quelque chose.
Merci d'avance.

Cordialement,

--
A voir également:

1 réponse

ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
18 juil. 2018 à 20:15
Salut,

avant de commencer, je tiens juste à préciser que la version stable actuelle est la 4.1 et je trouve qu'elle présente de nombreux avantages à la 3.

Tu utilises la console pour générer tes entités ? Si ce n'est pas le cas, tu pourrais déjà commencer par ça, ça te fera gagner un temps fou.
Sinon pour faire ce que tu veux il y a plusieurs possibilités, tu peux passer par une commande console que tu auras créé à cet effet dans laquelle tu pourras préciser la classe à copier et copier tous les fichiers nécessaires et y modifier ce que tu souhaites à l'intérieur, en PHP.
Sinon tu peux faire ça avec un script (qui dépendra de ton environnement, par exemple, sous linux, ça sera un script bash)

Sinon pour faire plus simple, moi, à ta place, j'ajouterai un champ "type" dans mon entité ce qui me permettrait de conserver une seule entité, plus polyvalente, au lieu de multiplier des entités qui sont très proches et du coup énormément alourdir ton code.
0