Las librerías Spoon PHP5 Library disponen de una clase llamada Database para la abstracción de base de datos en PHP 5.
En Spoon existe una clase que implementa todo el trabajo que podríamos realizar con las bases de datos, por medio de una serie de métodos para realizar distintos tipos de consultas. La verdad es que, si estamos acostumbrados a trabajar con las funciones de MySQL de PHP, esta librería podría resultarnos en un principio prescindible, pero lo cierto es que existen algunas funcionalidades bastante interesantes que pueden facilitarnos algunas tareas típicas.
Abstracción de Base de datos en PHP 5
Aparte de algunos métodos interesantes que comentaremos a lo largo de los próximos artículos, lo más importante es que nos aportará la clase SpoonDatabase es la abstracción de base de datos. Esto quiere decir que podemos programar una aplicación sin utilizar las funciones específicas de una base de datos concreta, lo que facilitaría la migración a otro sistema gestor de base de datos.Por ejemplo, podemos trabajar con nuestra aplicación en MySQL y al cabo de un tiempo decidir que deseamos utilizar SQLite o PostgreSQL. En el caso que tengamos una capa de abstracción de base de datos como la que nos proporciona Spoon, esa hipotética migración resultará mucho menos dolorosa, ya que simplemente tendríamos que cambiar el driver con el que iniciamos la clase SpoonDatabase y todo el resto del código permanecería igual.
Incluir la librería SpoonDatabase
El primer paso para poder utilizar las librerías Spoon para el acceso a base de datos es incluir los scripts necesarios de las librerías. Esto ya se comentó en el artículo de Primeros pasos con Spoon. En concreto tendremos que cargar la librería spoon/database/database.php. Lo hacemos con el siguiente código, pero tener en cuenta que debemos haber colocado mediante la función set_include_path() el camino hacia Spoon, tal como se explicó en el mencionado artículo.require_once 'spoon/database/database.php';
Conexión con una base de datos
Para la conexión con la base de datos tenemos que instanciar un objeto de la clase SpoonDatabase, enviando todos los datos de conexión al constructor.$db = new SpoonDatabase('driver', 'servidor', 'usuario', 'clave', 'base de datos');
Para explicar estas liberías hemos utilizado una base de datos MySQL instalada en un Xampp, que tiene como servidor a "localhost" y el usuario "root" y sin clave, tal como es la instalación típica de este paquete. Además vamos a conectar con una base de datos que hemos llamado "probando".
$db = new SpoonDatabase('mysql', 'localhost', 'root', '', 'probando');
Como se puede apreciar, el driver que estamos utilizando en este caso es el de MySQL, que se envía en el primer parámetro. Si lo deseas, coloca cualquier cosa en vez de ese driver y Spoon te mostrará una excepción en la que podrás ver los drivers instalados en el servidor donde estás trabajando.
Una vez que hemos conectado con nuestra base de datos estamos en condición de realizar diversas acciones o consultas. Para ello utilizamos el objeto de la clase SpoonDatabase que recibimos al invocar al constructor. En la documentación se pueden ver los diferentes métodos que podemos realizar sobre el objeto, para hacer todo tipo de consultas y operaciones con la base de datos.
En el próximo artículo veremos cómo utilizar el método getVar(), que nos dará pie a realizar varias consultas y explicar cómo se puede parametrizar de una manera bastante potente esas consultas.
Miguel Angel Alvarez
Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...