Archive for April, 2004

Database wrapper para Jaws

Friday, April 2nd, 2004

Pues el día de hoy TODO estuvo de hueva, así que en una clase libre me puse a compilar mentalmente unas ideas para Jaws: Un Wrapper para la base de Datos.

La idea del Wrapper (db_wrapper) es poder soportar muchos DBMS para ejecutar un query y tomar los datos, así como usar un mismo nombre para las funciones de todos los DBMS, por ejemplo: fetch_row, query, connect, data, data_field, etc.

Otra de las caracteristicas del wrapper es que ‘valida’ a la clase del DBMS, si no cumple con los requisitos mínimos manda un error y termina la aplicación.

Aparte, si el query es un SELECT, la forma en como va a ‘juntar’ todos los datos en un arreglo es un formato más sencillo de analizar y de recorrer, por ejemplo:

//Seleccionamos todos los 'registros' de la tabla registry
$sql = "SELECT * FROM registry";
//Ejecutamos el query, lo que hace query es encontrar un SELECT en la instrucción y si lo encuentra pues toma datos y sino.. pues no.
$GLOBALS["app"]->db2->query($sql);
//Ahora, se recorre todo el arreglo, es parecido a como se hacen en mysql y en adodb, ya que el while no termina hasta que haya recorrido todos los valores.  
while($row = next($GLOBALS["app"]->db2->data())) {
//Imprime el valor
  echo $row["value"]."
";
}

Y en el Wrapper se llaman a las funciones correspondientes del Driver, por ejemplo:

  function query($sql) {
    $function = __FUNCTION__;
    $this->driver->$function($sql);
  }

Sencillo, no?, y claro, para tomar un valor:

$sql = "SELECT * FROM registry WHERE id=15";
$GLOBALS["app"]->db2->query($sql);
//Con la diferencia que no hay while, sino simplemente se pide el campo 'value'
echo $GLOBALS["app"]->db2->field("value");

Con su correspondiente función:

  function field($field_name) {
    return $this->driver->data[$field_name];
  }

:-) , en cuanto vea a ion le voy a presumir :-) .

There’s a moment when fear and dreams must collide…

Thursday, April 1st, 2004

Simplemente no tiene madre el disco que estoy escuchando, dejando un poco atrás música que venía escuchando día a día llegué a un directorio: Cirque du Soleil.

Son las mejores rolas de los sound tracks de Cirque du Soleil, las rolas no tienen madre, especialmente.. que hay versiones para cuatro idiomas! español, italiano, francés e inglés a mi parecer las mejores son las de francés.

¿Rolas favoritas?

Let Me Fall, Quidam, Vai Vedrai, Ballare y Jeux D’ eau y por su puesto: Love Leaves Someone Behind

Unconciously people are drawn
to things that feel strong
They meander to their rightful place
and meet their challenges face to face
(...)
Once a love has picked up speed
it's gonna leave someone behind to bleed

:-)