-
Qu'est-ce que Doctrine ?
Bonjour,
Je laisse un message car je travaille avec Doctrine depuis très peu de temps et j'ai un peu de mal avec le concept d'ORM.
Qqun pourrait m'expliquer réellement à quoi ça sert?
J'ai vu que ça repose sur la couche PDO ? Mais je ne sais pas ce que c'est.
J'ai trouvé http://www.doctrine-project.org/proj...n#introduction comme explication mais c'est toujours flou.
Qqun peut m'aider?
Merci d'avance
-
En 2 mots (presque) vu que je n'ai pas envie de réécrire toute la documentation disponible (en anglais, c'est vrai)
Doctrine sur wikipedia (très light)
ORM sur wikipedia (très light aussi :cry:)
ORM dans le dico de developpez.com
Bon, ma propre définition.
Tous est dans le nom Object Relational Mapping, Doctrine permet donc de manipuler les données d'une base de donnée dans des objets (POO). Après, il n'est pas simple d'expliquer, mais imagine de récupérer et de traiter les donnée entièrement à la main sous PHP et d'utiliser Doctrine à la place, tu vas tous de suite voir la différence.
As-tu déjà travaillé sur des données sans doctrine ? En attaquant directement la base ?
-
Sans doctrine, il est possible de travailler avec des objets, mais faut se les faire à la main soi même, ce qui est très répétitif, demande beaucoup de temps et n'est pas drôle du tout.
Doctrine fait donc gagner énormément de temps et de stabilité (moins de bugs que les classes qu'on fait soi même) en générant automatiquement les classes à partir du schéma de la base de données, avec les méthodes qui vont bien.
Pour les méthodes spécifiques, tu n'as qu'à les ajouter dans tes propres classes toutes vides qui étendent celles bien remplies générées par Doctrine.
Doctrine gèrent les clé étrangères ce qui représente aussi un gain de temps considérable.