Salut !
Voici une bonne PR de refactoring qui mutualise pas mal de ligne de code, car toutes les déclarations suivantes étaient les mêmes :
UUID
Timestamps
Softdelete
J'ai donc tout placé dans des traits qui sont utilisés par les entités qui en ont besoin.
Petit inconvénient
Quand une entité veut exposer via API platform un champ qui dans dans un trait, par exemple son UUID, il faut redéfinir la propriété id pour y mettre l'attribut PHP Groups.
Le id qu'on définit dans l'entité va passer au redéfinir de celui du trait, donc on doit repréciser tous @ORM et @Assert.
Un exemple :
Description
Salut ! Voici une bonne PR de refactoring qui mutualise pas mal de ligne de code, car toutes les déclarations suivantes étaient les mêmes :
J'ai donc tout placé dans des traits qui sont utilisés par les entités qui en ont besoin.
Petit inconvénient Quand une entité veut exposer via API platform un champ qui dans dans un trait, par exemple son UUID, il faut redéfinir la propriété
id
pour y mettre l'attribut PHPGroups
. Leid
qu'on définit dans l'entité va passer au redéfinir de celui du trait, donc on doit repréciser tous @ORM et @Assert. Un exemple :Checklist
Test
Implementation
dd()
|dump()
Tools
src
folder.Documentation
README.md
file.