Spoon Database classe para abstração de base de dados em PHP 5

As bibliotecas Spoon PHP5 Library dispõem de uma classe chamada Database para a abstração de base de dados em PHP 5.

Por Miguel Angel Alvarez - Tradução de Celeste Veiga


Publicado em: 21/10/11
Valorize este artigo:
Spoon é uma biblioteca que facilita a programação em PHP 5. Não é um framework, mas um conjunto de classes que podemos incluir em nossos scripts para realizar funcionalidades comuns no que seriam as aplicações da web 2.0. NoManual de Spoon vimos tratando várias das classes que podem ser utilizadas nestas interessantes bibliotecas e neste artigo vamos começar a explicar a classe Database.

Em Spoon existe uma classe que implementa todo o trabalho que poderíamos realizar com as bases de dados, por meio de uma serie de métodos para realizar diferentes tipos de consultas. A verdade é que, se estivermos acostumados a trabalhar com as funções de MySQL de PHP, esta biblioteca poderia resultar em um princípio prescindível, mas o certo é que existem algumas funcionalidades bastante interessantes que podem nos facilitar algumas tarefas típicas.

Nota: Para explicar o trabalho com as bases de dados em Spoon estou utilizando como referencia o tutorial sobre bases de dados publicado no website de Spoon. de modo que este texto é uma tradução livre e ampliada sobre o que vocês podem encontrar ali.

Abstração de Base de dados em PHP 5

À parte de alguns métodos interessantes que comentaremos ao longo dos próximos artigos, o mais importante que nos aportará a classe SpoonDatabase é a abstração de base de dados. Isto quer dizer que podemos programar uma aplicação sem utilizar as funções específicas de uma base de dados específica, o que facilitaria a migração a outro sistema gestor de base de dados.

Por exemplo, podemos trabalhar com nossa aplicação em MySQL e ao fim de um tempo decidir que desejamos utilizar SQLite ou PostgreSQL. No caso de termos uma camada de abstração de base de dados como a que nos proporciona Spoon, essa hipotética migração resultará muito menos dolorosa, já que só teríamos que mudar o driver com o que iniciamos a classe SpoonDatabase e todo o resto do código permaneceria igual.

Nota: Neste caso, as bases de dados que teremos disponíveis dependem dos drivers instalados no servidor web onde estejamos executando nossas páginas. Uma configuração típica de Xamp sobre Windows dispõe os drivers mysql, odbc, sqlite, sqlite2.

Incluir a biblioteca SpoonDatabase

O primeiro passo para poder utilizar as bibliotecas Spoon para o acesso à base de dados é incluir os scripts necessários das bibliotecas. Isto já foi comentado no artigo de Primeiros passos com Spoon. Especificamente teremos que carregar a biblioteca spoon/database/database.php. Isso é feito com o seguinte código, mas tenham em conta que devemos ter colocado, mediante a função set_include_path(), o caminho para Spoon, tal como explicado no mencionado artigo.

require_once 'spoon/database/database.php';

Conexão com uma base de dados

Para a conexão com a base de dados temos que instanciar um objeto da classe SpoonDatabase, enviando todos os dados de conexão ao constructor.

$db = new SpoonDatabase('driver', 'servidor', 'usuario', 'chave', 'base de dados');

Para explicar estas bibliotecas utilizamos uma base de dados MySQL instalada em um Xampp, que tem como servidor "localhost" e o usuario "root" e sem chave, tal como é a instalação típica deste pacote. Ademais vamos conectar com uma base de dados à que chamamos "testando".

$db = new SpoonDatabase('mysql', 'localhost', 'root', '', 'testando');

Como se pode apreciar, o driver que estamos utilizando neste caso é o de MySQL, que é enviado no primeiro parâmetro. Se você desejar, coloque qualquer coisa em vez desse driver e Spoon mostrará uma exceção onde você poderá ver os drivers instalados no servidor em que você está trabalhando.

Uma vez que conectamos com nossa base de dados estamos em condição de realizar diversas ações ou consultas. Para isso utilizamos o objeto da classe SpoonDatabase que recebemos ao invocar o constructor. Na documentação se podem ver os diferentes métodos que podemos realizar sobre o objeto, para fazer todo o tipo de consultas e operações com a base de dados.

No próximo artigo veremos como utilizar o método getVar(), que nos auxiliará a realizar várias consultas e explicar como se podem parametrizar de uma maneira bastante potente essas consultas.





Comentários do artigo
Foi enviado 1 comentário ao artigo
1 comentário não revisado
0 comentários revisados

Usuários :    login / registro

Manuais relacionados
Categorias relacionadas
O autor

Home | Sobre nós | Copyright | Anuncie | Entrar em contato