Propriétés conviviales d'entité
< Technique | Symfony
Sauter à la navigation
Sauter à la recherche
Révision datée du 26 février 2020 à 11:40 par Jordan (discussion | contributions) (Page créée avec « == Présentation == Cette page a pour objet de décrire comment définir un nom convivial d'une propriété d'une entité et de comment la récupérer dans Symfony. == Co… »)
Présentation
Cette page a pour objet de décrire comment définir un nom convivial d'une propriété d'une entité et de comment la récupérer dans Symfony.
Contexte
Dans le cadre de la mise en place d'un simple CRUD sous Symfony, il peut être nécessaire de pouvoir lister dans un tableau un ensemble d'entités.
Par exemple, une propriété pourrait se nommer $teamLeader
, mais la description de cette propriété correspondrait à Chef d'équipe
. Les propriétés des entités étant des variables PHP, il n'est pas possible de leur donner un nom convivial tel quel.
De ce fait, où renseigner cette information ?
Plusieurs choix sont possibles :
- Dans la définition ORM de l'entité, en annotation, avec la syntaxe
* @ORM\Column(type="string", length=255, nullable=true, options={"comment":"Chef d'équipe"})
par exemple- Cette astuce permettra d'assigner un commentaire descriptif à la colonne en base de données. Toutefois, la récupération de cette information est laborieuse et il sera préférable de mettre en oeuvre d'autres solutions.
- Dans une table supplémentaire dédiée à la description de chacune des propriétés de chaque entité.
- Cette solution est envisageable, mais demande une maintenance particulière. De plus, l’algorithme de l'application devra tenir compte de cette architecture.
- Dans chacune des vues ou contrôleurs qui auront besoin de cette information.
- Le problème majeur de cette solution est la duplication de code. L'information sera présente à chaque endroit où elle sera nécessaire
- Dans la définition de l'entité même
- Cela rejoint à peu près la solution de l'ORM, et c'est cette solution qui va être détaillée dans cette page
- Et d'autres solutions...