ORM con Zend Framework
Por zsamer en Junio 28, 2008
En el post anterior había prometido escribir un articulo sobre implementar ORM con Zend Framework.
El mapeo objeto-relacional es una técnica de programación para convertir datos entre el sistema de tipos utilizado en un lenguaje de programación orientado a objetos y el utilizado en una base de datos relacional. En la práctica esto crea una base de datos orientada a objetos virtual, por sobre la base de datos relacional. Si estas interesado en como implementar esta técnica con Zend_Db_Table Relationships entonces continua leyendo.
Lee el resto de este artículo »
Integrando Propel con Zend Framework: Segunda Parte
Por zsamer en Junio 7, 2008
Estamos de vuelta con el articulo Integrando Propel con Zend Framework, en la Primera Parte vimos una introducción de Propel, estructuras de directorios de nuestro proyecto, finalmente como se configuran los archivos XML y se generan nuestros modelos a partir de los archivos de configuración para luego poder utilizarlos dentro de un proyecto con Zend Framework.
Hoy en esta segunda y ultima entrega veremos la integración con Zend Framework, para ello será necesario extender la clase Zend_Db_Adapter_Pdo_Mysql (utilizando mysql) y agregaremos un par de métodos y funcionalidades en la clase Core/Bootstrap de nuestro sistema cubierto en el artículos anterior Bootstrap Class.
Lee el resto de este artículo »
Integrando Propel con Zend Framework: Primera Parte
Por zsamer en Junio 2, 2008
En mi ultimo articulo Bootstrap Class había quedado comprometido de escribir un post sobre cómo integrar ZF con el ORM Propel, así que ha llegado el momento de cumplir lo prometido
.
Introduciendo un poco el termino ORM, mapeo objeto-relacional (más conocido por su nombre en inglés, Object-Relational mapping, o sus siglas O/RM, ORM, y O/R mapping) es una técnica de programación para convertir datos entre el sistema de tipos utilizado en un lenguaje de programación orientado a objetos y el utilizado en una base de datos. En la práctica esto crea una base de datos orientada a objetos virtual, por sobre la base de datos relacional. Esto posibilita el uso de las características propias de la orientación a objetos (básicamente herencia y polimorfismo).
Abrir dos conexiones paralelas a una misma base de datos no es una buena idea ni mejores practicas, podría producir graves problemas de rendimiento en nuestra aplicación y sobre todo si nuestro proyecto va a tener un importante numero de visitas interactuando con nuestra aplicación al mismo tiempo. La idea es poder hacer uso tanto de Zend_Db_Table como de Propel dentro de nuestro proyecto, pero aquí podríamos plantearnos la siguiente pregunta ¿Cómo implementar ambos ORM dentro de nuestro proyecto sin tener que abrir dos conexiones paralelas? La solución la iremos viendo en el transcurso de este post.
Este post no pretende abarcar temas de instalación ni de manual de uso de Propel, solo veremos su integración con Zend Framework y un breve ejemplo de uso, así que se da por hecho que el lector tiene algún conocimiento de Propel, en caso contrario pueden visitar el sitio y leer el manual.
La integración solo es valida para la versión 1.3 o superior de Propel (Propel 1.3), ya que a partir de la versión 1.3 Propel utiliza PDO en vez de Creole como capa de abstracción a la base de datos, sin duda un gran cambio, lo mejor que pudo haber hecho Propel
.
Para el lector que no tenga experiencia con Propel recomiendo leer el manual como mencioné más arriba y ademas leer el siguiente post Installing Propel object persistence layer for Web application (Cuidado: Creole ya no es necesario ya que utiliza PDO). Lee el resto de este artículo »
