Clase::DBI-como librería para php?
Pregunta
He heredado una vieja costra PHP application
, y me gustaría refactorizar en algo un poco mejor, pero de manera gradual.En CPAN de perl, hay una serie de clases alrededor de Clase::DBI que permite el uso de la base de datos de las filas como base para los objetos en el código, con la biblioteca de la generación de accessor methods
etc, pero también le permite agregar más métodos.
¿Alguien sabe de algo como esto para PHP?Especialmente algo que no requiere la adopción sistemática de un "marco"...los puntos de bonificación si funciona en PHP4 demasiado, pero para ser honesto, me encantaría tener otro motivo para deshacerse de eso.:-)
Solución
Ahora desaparecida pero phpdbi es, posiblemente, vale la pena un vistazo.Si usted está dispuesto a dejar de lado algunos de sus advertencias (el marco de uno), me he encontrado con que La doctrina es una muy buena manera de acceder a la DBs en PHP.De todos modos vale la pena investigar.
Otros consejos
Clase::DBI es una ORM (Object Relational Mapper) para perl.La búsqueda para "PHP ORM" en google da buenos resultados, incluyendo Doctrin, que he tenido buena suerte con.Me gustaría empezar por ahí y su forma de trabajo.
Lo correcto es el acceso a la base de datos a través de una capa de abstracción de una manera tal que si usted cambia su RDBMS o cómo se implementan que el acceso, usted sólo tiene que modificar esta capa, mientras que todo el resto de su aplicación se mantiene intacta.
Para hacer esto, para liberar a su solicitud de saber cómo tratar con la base de datos, la capa de abstracción para la DB de acceso debe ser implementada por un marco, como ADODB.
Todos los archivos relacionados con esta capa debe estar ubicado en un sub directorio:
- /ado
En esta directorios que voy a poner todo de su .php.inc archivos que contiene métodos generales para acceder a la base de datos.
¿ MDB2 a partir de pera?
Proporciona una API común para todos apoyado RDBMS.La principal diferencia para la mayoría de los otros DB abstracción de paquetes es que MDB2 va mucho más allá de garantizar la portabilidad.
Btw:@GaryF ¿qué son esos extraños atributos title sus enlaces tienen ?¿Añadirlas o son añadidos por ESO ?