Symfony propose sa propre solution d'accès aux bases de données. Celle-ci permet de s'assurer que les bonnes pratiques sont bien mises en œuvre, tout en libérant le développeur de cette préoccupation. De plus, il trouve là à sa disposition un outil qui lui permettra d'optimiser son temps de développement en se concentrant sur la logique métier, se déchargeant sur Symfony de l'organisation des données.
Nous travaillerons ici avec une base de données relationnelle, considérant qu'il s'agit là de la configuration la plus classique. Cela n'empêche pas Symfony de pouvoir travailler avec d'autres systèmes comme MongoDB [1], par exemple.
Le composant Symfony qui prend en charge les relations avec la base de données s'appelle Doctrine. Il s'agit d'un ORM (Object Relational Mapping, ou « mapping objet-relationnel »), c'est-à-dire d'un système présentant les enregistrements d'une base de données sous la forme d'objets dans le langage de programmation client. L'idée est de créer une classe d'objets pour chaque table de la base, les colonnes devenant alors des propriétés. La classe peut héberger une partie de la logique métier si nécessaire, permettant de garantir la cohérence des données lorsque les contraintes sont difficiles, voire impossibles à traduire au niveau de la base de données.
Mais Doctrine va plus loin qu'un simple ORM, car il prend également en...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première