2009-07-11 9 views

Respuesta

19

ActiveRecord es un patrón común en ORM. Doctrine es un ORM que usa un estilo ActiveRecord'ish.

Algunos de los beneficios de la utilización de herramientas como Doctrina: independencia

  • base de datos: El código debe ser fácil de portar a diferentes DBs. Por ejemplo, a menudo pruebo usando SQLite y uso MySQL o Postgre en producción sin cambios en el código.
  • Reducen la cantidad de código que tiene que escribir: una gran parte del código de la aplicación se refiere a la comunicación con la base de datos. Un ORM se encarga de la mayor parte de eso, por lo que puede concentrarse en escribir la aplicación real.

Por supuesto, ellos no están exentas de inconvenientes:

  • Doctrina es pesado por lo que es más lento que el uso de SQL recta
  • ORM puede ser complejo, añadiendo un poco de peso a lo que tiene que aprender, y a veces pueden ser difíciles de entender para los programadores inexpertos
+0

No sé qué quiere decir con "ActiveRecord'ish", pero aquí es una descripción adecuada: "Doctrine 2 es un mapeador relacional de objetos (ORM) para PHP 5.4+ que proporciona persistencia transparente para objetos PHP. Utiliza el patrón Data Mapper en el corazón, con el objetivo de una separación completa de su dominio/lógica de negocios de la persistencia en un sistema de gestión de bases de datos relacionales." Fuente: http://doctrine-orm.readthedocs.org/en/latest/tutorials/getting-started.html#what-is-doctrine – ZeeCoder

+1

@ZeeCoder Podría estar equivocado, pero teniendo en cuenta que escribí esta respuesta en 2009, creo que todavía no tenía Doctrine 2. Doctrine 1 tenía una API mucho más ActiveRecord que su segunda versión (y mucho mejor, debería añadir) –

+0

My bad then. Solo he usado Doctrine 2 :) – ZeeCoder

Cuestiones relacionadas