Persistencia en PHP con Doctrine 2

Manejar persistencia es un tema que no esperaba encontrar en php tan profundo como en Java (con Hibernate), anteriormente había visto varios frameworks para manejar el acceso a base de datos pero ninguno me convenció, librerias como las de cake o del mismo PEAR para manejar el acceso a datos me parecían demasiado rudimentarias.

Pero que buena sorpresa me llevo con Doctrine, que es un framework para ORM en php, la documentación es bastante amplia y hay varios ejemplos por internet, sin embargo yo sugeriría que aquellos que piensen hecharle un ojo conozcan primero como manejar namespaces y POO en php, porque en eso se basa.

Detro de sus características a mi me agradan las siguientes:

  • Permite manejar varias bases de datos (Oracle, Mysql, DB2, Informix, Sqlite, y otras… más)
  • Puede ejecutar querys con sintaxis nativa y mediante su lenguaje de modelado a objetos llamado DQL (Doctrine Query Language, está inspirado en HQL de Hibernate).
  • Ofrece una capa de abstracción para manipular y administrar shcemas de bases de datos.

Principalmente se divide en dos paquetes:

  • DBAL (Data Base Abstraction Layer)
  • ORM (Object Relational Mapper), este ya incluye dentro de si mismo el DBAL

Instalación

Puede ser de dos formas, descargando el framework o via PEAR (aquí lo voy a hacer con PEAR) abres una terminal y ejecutas los siguientes comandos:

#Doctrine 2
sudo pear channel-discover pear.doctrine-project.org
sudo pear remote-list -c doctrine
sudo pear install doctrine/DoctrineORM-2.1.2

Nota: Yo instale el ORM que es el paquete completo y la versión actual es la 2.1.2, pero tu puedes utilizar otra parte del framework con otra versión, con el segundo comando puedes verificar los disponibles.

En algunos ejemplos que voy a publicar después deje unas lineas de codigo de doctrine con symphony, así que es mejor instalarlo de una vez:

#Symphony
sudo pear channel-discover pear.symfony-project.com
sudo pear install symfony/symfony

Para verificar que la instalación es correcta  escribir el comando “doctrine” y debes de ver la versión y la descripción de las opciones que utiliza.

Por último yo recomiendo que leas la introudcción al framework que te ayudará a entender como funciona, en especial por el uso de Caches (abajo deje el link).

Referencias:

Saludos =)

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s