Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/07/2006, 20:04
zsamer
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 5 meses
Puntos: 8
Crear Clase BaseDeDatos que use internamente otra clase de Abstarcción de db

Hola estuve leyendo un articulo muy interesante de Enrique Place "¿Cual es la mejor capa de abstracción?".

Yo actualmente uso en mis proyecto la clase de abstracción de base de datos que utiliza phpBB.

Ahora estoy empezando a usar Zend Framework, y mi idea es crear una Clase de Abstraccion de base de datos que utilice internamente la "Abstración de Base de datos de Zend Framework" pero la idea es que esta nueva clase remplaze a la que actualmente utilizo en mis proyectos osea que mantenga los mismos objetos y funciones basicas pero con el nuevo motor de "Abstración de Base de datos de Zend Framework", es posible?

a continuación explico la clase de base de datos de phpBB, creo que muchos la conocen:

Código PHP:
$db = new sql_db($servidorBD$usuarioBD$passBD$nombreBDfalse);
if(!
$db->db_connect_id) {
    die(
"<br><br><center><img src=images/logo.gif><br><br><b>Existe un problema con el servidor de MySQL, disculpe por el inconveniente.<br><br>Estaremos pronto de regreso.</center></b>");

// Ejemplo de consulta tipica
$resultado $db->sql_query('SELECT * FROM tbl_usuario WHERE nick = \'' $_SESSION["usuario"] . '\'');
if (
$db->sql_numrows($resultado)>0)
{
  while(
$filas $db->sql_fetchrow($resultado))
  {
    
print_c($filas);
  }


else 
{
print(
"No hay registros");

Como podría empezar a crear esta nueva clase que permita usar el motor del Zend Framework sin tener que modificar los objetos y funciones que invocan a la clase de base de datos de phpBB, lo digo porque la idea es no tener que cambiar todos mis archivos php:
Las funciones basicas de la clase son:
Código PHP:
//crear el objeto, ejecuta al contructor:
$db = new sql_db($servidorBD$usuarioBD$passBD$nombreBDfalse);

// funciones 
$db->sql_query($consulta)
$db->sql_numrows($resultado)
$db->sql_fetchrow($resultado// recorre el arreglo con while
$db->db_connect_id()
$db->sql_error()
$db->sql_close()
$db->sql_freeresult() 
Aun soy novato de POO, se lo basico, tendria que usar extends:
Necesito que me orinten un poco, la ideas es almenos mantener las funciones de arriba y que la funcion $db->sql_fetchrow() la recorra con while ya que asi estan en todos mis archivos y no con foreach.
Código PHP:
class NuevaExtraccionBD extends Zend_Db {
    

Gracias y salu2,


zsamer

Última edición por zsamer; 20/07/2006 a las 20:15