persistencia motor php perl orm

php - motor de persistencia



Clase:: biblioteca DBI-like para php? (5)

He heredado una vieja PHP application crujiente, y me gustaría refactorizarla en algo un poco más agradable de tratar, pero de forma gradual. En CPAN de perl, hay una serie de clases alrededor de Class :: DBI que le permiten usar filas de bases de datos como base para objetos en su código, con la biblioteca generando accessor methods etc., según corresponda, pero también permitiéndole agregar métodos adicionales.

¿Alguien sabe de algo como esto para PHP? Especialmente algo que no requiere la adopción al por mayor de un "marco" ... puntos de bonificación si también funciona en PHP4, pero para ser sincero, me gustaría tener otra razón para dejarlo. :-)


Ahora está desaparecido, pero phpdbi es posible que valga la pena echarle un vistazo. Si está dispuesto a dejar de lado algunas de sus advertencias (la del marco), he descubierto que Doctrine es una forma bastante ordenada de acceder a las bases de datos en PHP. Vale la pena investigar de todos modos.


Lo correcto es acceder a la base de datos a través de una capa de abstracción de forma que, si cambias tu RDBMS o cómo implementaste ese acceso, solo tienes que modificar esta capa mientras el resto de tu aplicación permanece intacta.

Para hacer esto, para liberar su aplicación de saber cómo tratar con la base de datos, su capa de abstracción para el acceso a bases de datos debe ser implementada por un marco como ADODB .

Todos los archivos relacionados con esta capa deben estar ubicados en un subdirectorio:

  • /alharaca

En estos directorios, colocará todos sus archivos .php.inc que contienen métodos generales para acceder a la base de datos.


¿Qué hay de MDB2 de pera?

Proporciona una API común para todos los RDBMS admitidos. La principal diferencia para la mayoría de los demás paquetes de abstracción de bases de datos es que MDB2 va mucho más allá para garantizar la portabilidad.

Por cierto: @GaryF ¿Cuáles son esos extraños atributos de título que tienen tus enlaces? ¿Los agregó o los agregó SO?


Clase :: DBI es un ORM (Object Relational Mapper) para perl. La búsqueda de "PHP ORM" en google ofrece buenos resultados, incluido Doctrin , con el que he tenido buena suerte. Comenzaría allí y trabajaría hacia arriba.


Estoy tratando de obtener más comentarios sobre mis propios proyectos, así que sugeriré mi opinión sobre ORM: ORMer

Ejemplos de uso están aquí

Puedes ponerlo en fase, no requiere que adoptes MVC, y requiere muy poca configuración.