Un ORM es Object Relational Mapping, básicamente sirve para manejar datos de una base de datos como objetos sin recurrir a consultas a pelo, sé que symfony usa Doctrime como ORM.
- ¿Conocéis alternativas mejores a Doctrine?
- ¿Qué ORM recomendáis en PHP?
Probablemente el más popular a día de hoy sea Doctrine.
Propel 2 promete pero todavía está en desarrollo:
http://propelorm.org/
https://github.com/propelorm/Propel2
Luego también tienes RedBean (http://redbeanphp.com) y Eloquent (http://laravel.com/docs/eloquent), de la gente de Laravel.
Yo suelo utilizar Doctrine, aunque principalmente porque es el que tiene mejor documentación e integración con Symfony2, que es lo que uso con más frecuencia. Además Doctrine es modular, así que cuando no necesitas usarlo como ORM, puedes usar DBAL (http://www.doctrine-project.org/projects/dbal.html), que es una capa que añade algún extra a PDO y funciona prácticamente igual.
Yo últimamente he usado Eloquent de Laravel y da gustó trabajar con él. Como dice Aitor, Doctrine es quizás el más popular.
Hay que hacer la distinción entre Doctrine 1.x y 2, el primero usa el patrón Active Record, mientras el último implementa Data Mapper.
Data Mapper, es mucho más versátil, pero puede llegar a ser overkill para proyectos pequeños donde el esquema de tu base de datos es medianamente sencillo.
Mi recomendación, si vas a empezar ahora, es Eloquent. Está muy bien hecho y existe una comunidad interesante detrás del proyecto Laravel.
- ¿Conocéis alternativas mejores a Doctrine?
- ¿Qué ORM recomendáis en PHP?
07/03/2014 13:17
Propel 2 promete pero todavía está en desarrollo:
http://propelorm.org/
https://github.com/propelorm/Propel2
Luego también tienes RedBean (http://redbeanphp.com) y Eloquent (http://laravel.com/docs/eloquent), de la gente de Laravel.
Yo suelo utilizar Doctrine, aunque principalmente porque es el que tiene mejor documentación e integración con Symfony2, que es lo que uso con más frecuencia. Además Doctrine es modular, así que cuando no necesitas usarlo como ORM, puedes usar DBAL (http://www.doctrine-project.org/projects/dbal.html), que es una capa que añade algún extra a PDO y funciona prácticamente igual.
07/03/2014 13:19
07/03/2014 13:32
Hay que hacer la distinción entre Doctrine 1.x y 2, el primero usa el patrón Active Record, mientras el último implementa Data Mapper.
Data Mapper, es mucho más versátil, pero puede llegar a ser overkill para proyectos pequeños donde el esquema de tu base de datos es medianamente sencillo.
Mi recomendación, si vas a empezar ahora, es Eloquent. Está muy bien hecho y existe una comunidad interesante detrás del proyecto Laravel.
12/03/2014 13:35
https://github.com/j4mie/idiorm