Fiche technique | |
---|---|
Type de produit : | Bibliothèque |
Catégorie : | ORM |
Langage de programmation : | PHP |
Auteur : | Konsta Vesterinen |
Date de publication : | 2006 à maintenant |
Licence : | MIT |
Site Web : | https://github.com/doctrine/orm |
Introduction
La bibliothèque Doctrine ORM, aussi appelé Doctrine Object-Relational Mapping, est une composante majeur du projet Doctrine en PHP. Il permet de cartographier les objets PHP aux tables d'une base de données relationnelle, offrant une abstraction évitant d'avoir à écrire des requêtes SQL complexes. Avec Doctrine ORM, les développeurs manipulent des entités (classes PHP) représentant les lignes d'une base de données, et l'ORM prend en charge la persistance des données, les chargements, les relations entre les entités,...
Voici les principales fonctionnalités de Doctrine ORM :
- Mapping objet-relationnel : Doctrine ORM permet de cartographier des classes PHP aux tables de la base de données. Cela se fait via des annotations, des fichiers XML, ou des fichiers YAML. Chaque classe correspond à une table et chaque propriété correspond à une colonne.
- Gestion des relations : Doctrine ORM prend en charge différentes relations entre entités, comme les relations un-à-un, un-à-plusieurs, et plusieurs-à-plusieurs. Ces relations permettent de lier des entités entre elles, comme par exemple un utilisateur ayant plusieurs commandes.
- Gestion des entités : Les entités sont des objets représentant les lignes de la base de données. Doctrine ORM offre des méthodes pour persister, récupérer, mettre à jour et supprimer ces entités.
- Query Builder et DQL : Doctrine ORM propose un Query Builder pour créer dynamiquement des requêtes SQL, et DQL (Doctrine Query Language), un langage proche de SQL opérant directement sur les entités PHP. Cela permet d'écrire des requêtes complexes sans manipuler SQL directement.
- Migrations de schéma : Doctrine ORM intègre des outils de migrations permettant de versionner et d'appliquer des changements sur la structure de la base de données à travers le code.
- Lazy Loading : Doctrine ORM prend en charge le lazy loading, une technique permettant de retarder le chargement des données jusqu'à ce qu'elles soient explicitement demandées. Cela optimise les performances en évitant de charger trop de données en mémoire.
- Unit of Work : Doctrine ORM utilise un concept appelé Unit of Work, permettant de suivre les changements effectués sur les entités. Lorsqu'une transaction est terminée, Doctrine persiste automatiquement les modifications détectées dans la base de données.
Remarque
- Doctrine est l'ORM par défaut du cadre d'application Symfony depuis la version 1.3.
Dernière mise à jour : Mardi, le 15 octobre 2024