2010-12-29 13 views

Respuesta

0

Creo que deberías usar el registro activo porque la mayoría de las veces creo que podrías pagar una gran penalización usando otra capa de abstracción (ORM).

1

La pregunta es muy vaga y depende completamente del caso de uso.

De todos modos, prefiero Doctrine sobre el acceso a la base de datos integrada simplemente porque prefiero escribir las consultas en lugar de trabajar con (acceso extraño a la IMO) acceso a la base de datos de CI. Esto tiene una sensación mucho más OO que la implementación de CI y es muy potente, ya que le permite hacer las mismas cosas que con SQL normal (combinaciones complejas, sub-selecciones, condiciones WHERE más avanzadas).
También lo prefiero, ya que puede saltar al proceso de consulta, lo que significa que puede realizar acciones antes de que se comprometa la consulta, después de que se haya comprometido, aplique reglas y mucho más. No he visto esto de manera fácil en CI.
Lea el ejemplo en los documentos para ver de lo que estoy hablando.

La integración en CI es sencilla con Doctrine (hay muchas publicaciones disponibles en Internet e incluso algunas aquí en SO) para que no tenga que aprender nuevas convenciones sofisticadas.

Cuando elija, tenga en cuenta que cualquier ORM agregará una sobrecarga masiva (en comparación con la huella base de CI) a una estructura muy ligera. Así que sacrificas la ligereza por potentes funciones de base de datos y más abstracción.

1

Prefiero usar Active Record. Ya está allí y no he encontrado una situación en la que no haya satisfecho mis necesidades. No he usado otro ORM encima de CodeIgniter, pero sospecho que agregaría una capa innecesaria en la mayoría de los casos.

¿Qué necesita hacer que las herramientas incorporadas de Active Record no proporcionen?

+2

Active Record es solo un patrón, las herramientas ORM admiten este patrón, pero añaden mucho más (como la configuración de las tablas en sus clases). La clase estándar de Active Record de CI solo le proporciona una interfaz básica. – thomaux

Cuestiones relacionadas