¿Cuál es el mejor ORM para usar con codeigniter (framework php) y por qué?¿Cuál es el mejor ORM para usar con codeigniter (framework php) y por qué?
Respuesta
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).
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.
Como sugiere DrColossos, Doctrine es un ORM bueno y potente que se puede enchufar bastante fácilmente en una aplicación de CI. Para CodeIgniter 2 & Doctrine 2, puede usar este tutorial en Setting up CodeIgniter 2 with Doctrine 2 the Right Way.
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?
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
Una opción es ORM DataMapper: [? Qué ORM para CodeIgniter]
Ese nombre es engañoso, no es un patrón de DataMapper sino que está implementando el patrón ActiveRecord. – beberlei
- 1. Cuál es mejor usar y por qué en C#
- 2. ¿Qué es un framework PHP y cuál es bueno?
- 3. Cuál es el mejor IDE para usar con el Yii Framework
- 4. CodeIgniter: ¿por qué usar xss_clean
- 5. Framework/library de Java Web Service, ¿cuál es mejor y por qué?
- 6. ¿Cuál es la mejor sesión save_handler para PHP y por qué?
- 7. ¿Cómo sé cuál es el mejor lugar para usar 'usar'?
- 8. ¿Para qué es el lenguaje M?
- 9. ¿Por qué es mejor usar filter_input()?
- 10. Cuál es la mejor práctica para usar ExtJS con Django Framework
- 11. ¿Cuál es el mejor método para usar LINQ?
- 12. ¿Cuál es el mejor editor HTML WYSISYG disponible para desarrolladores web y por qué?
- 13. ¿Cómo puedo mostrar imágenes con el framework php de Codeigniter?
- 14. ¿Cuál es el mejor enfoque para usar JasperReports?
- 15. ¿Por qué usar un framework web (como rieles) sobre php?
- 16. ¿Qué es M y L en GeometryDrawing?
- 17. ¿Cuál es la mejor forma de usar NLog con MEF?
- 18. ¿Cuál es la mejor biblioteca matemática para usar con Java?
- 19. ¿Cuál es el mejor editor de PHP para Windows?
- 20. ¿Cuál es el propósito del modificador -m?
- 21. ¿Cuál es el mejor lenguaje/marco web para usar con una API REST y JSON?
- 22. Framework - ¿Qué es un framework PHP?
- 23. ¿Cuál es el mejor framework de desarrollo de juegos .NET?
- 24. PHP Framework Overhead
- 25. CodeIgniter: mejor implementación para ACL
- 26. ¿Qué ORM para codeigniter?
- 27. Entity Framework + MySQL - ¿Por qué el rendimiento es tan terrible?
- 28. Espacio de nombres en PHP CodeIgniter Framework
- 29. ¿Cuál es la mejor comparación con 0 en PHP?
- 30. Por qué usar un framework IoC
posible duplicado de (http://stackoverflow.com/questions/3438198/which-orm-for-codeigniter) – BoltClock