2009-07-11 8 views

Répondre

19

ActiveRecord est un modèle commun dans ORM. La doctrine est un ORM qui utilise un style ActiveRecord.

Certains avantages de l'utilisation d'outils tels que: Doctrine

  • indépendance de base de données: Le code doit être facile à port à différents blocs de données. Par exemple, je teste souvent en utilisant SQLite et utilise MySQL ou Postgre en production sans aucun changement de code.
  • Ils réduisent la quantité de code que vous devez écrire: Une grande partie du code de l'application traite de la communication avec la base de données. Un ORM prend soin de la plupart de cela, de sorte que vous pouvez vous concentrer sur l'écriture de l'application réelle.

Bien sûr, ils ne sont pas sans inconvénients:

  • Doctrine est lourd, il est plus lent que d'utiliser SQL droite
  • ORM peut être complexe, en ajoutant un peu de poids à ce que vous devez apprendre, et ils peuvent parfois être difficile à comprendre pour les programmeurs inexpérimentés
+0

Je ne sais pas ce que vous entendez par "ActiveRecord'ish", mais voici une description appropriée: «Doctrine 2 est un ORM (Object-Relational Mapper) pour PHP 5.4+ qui offre une persistance transparente pour les objets PHP.Il utilise le modèle Data Mapper au cœur, visant à séparer complètement votre domaine/logique métier de la persistance dans un Système de gestion de base de données relationnelle." Source: http://doctrine-orm.readthedocs.org/en/latest/tutorials/getting-started.html#what-is-doctrine – ZeeCoder

+1

@ZeeCoder Je pourrais me tromper mais vu que j'ai écrit cette réponse en 2009, je pense qu'ils n'a pas encore eu Doctrine 2. Doctrine 1 avait une API beaucoup plus ActiveRecord que leur deuxième (et beaucoup mieux, devrais-je ajouter) version –

+0

Mon mauvais alors. J'ai seulement utilisé Doctrine 2 :) – ZeeCoder

Questions connexes