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.
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.
require_once 'spoon/database/database.php';
$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.
![]() | Cookies com Spoon avançado | Método getVar() para receber um valor único e parametrização de consultas SQL | ![]() |