Abstração de Banco de Dados, PEAR e PECL no Debian Linux

Publicado: 23/08/2012 em Linux, Programação
Tags:, ,

1- Camada de Abstração
A abstração de banco de dados é um recurso que permite que a aplicação seja portável entre diferenres SGBDs (Sistema de Gerência de Banco de Dados). É uma camada intermediária entre a aplicação e o banco de dados. As bibliotecas de abstração de banco de dados traduzem os comandos fornecidos para os comandos nativos dos SGBDs.

Abstração de banco de dados

Existem muitas bibliotecas de abstração de banco de dados disponíveis para o PHP. Estas bibliotecas (classes) representam uma conecção entre o PHP e um servidor de base de dados. Podemos citar algumas destas bibliotecas:

  • dbx
  • DBA
  • ODBC
  • PEAR::MDB2
  • PDO

1.1- Extensão dbx:
– disponível na biblioteca de extensões PECL (ver adiante) e precisa ser instalada separadamente. Suporta diversos bancos de dados como o MySQL, PostgreSQL, SQL Server, ODBC, Sybase, Oracle e SQLite. Em ambiente com servidores Linux, a dbx necessita ser instalada separadamente fazendo seu download dos arquivos fonte da biblioteca em http://pecl.php.net/package/dbx

1.2- Classe PEAR::MDB2
– trata-se de uma classe externa disponível para download no PEAR (repositório de extensões e aplicações do PHP, ver adiante). Suporta grande variedade de SGBDs, tais como dBase, Interbase, Informix, mSQL, MySQL, ODBC, PostgreSQL, Sybase, Oracle e outros.

1.3- PDO
A extensão “PHP Data Objects” (PDO) define uma interface leve e consistente para acessar bancos de dados em PHP. Cada driver de banco de dados (PDO_SQLITE, PDO_MYSQL e outros conforme listado abaixo) que implementa a interface PDO pode dispor de facilidades específicas da respectiva base de dados como extensão de funções regulares. Note que deve-se usar um driver específico PDO para acessar um determinado servidor de banco de dados.

PDO fornece uma camada de abstração de acesso a dados, o que significa que, independentemente de qual banco de dados se esteja usando, se utiliza das mesmas funções para emitir consultas e buscas de dados. A grande utilidade do PDO é quando se escreve um sistema já pensando na possibilidade dele ser portado para outros bancos de dados ou quando da necessidade de se trabalhar com mais de um tipo de banco. É uma interface de acesso a banco de dados (ao contrário de uma camada de abstração total, esta extensão não gera SQL automaticamente nem emula características faltantes). É uma extensão que tem como objetivo padronizar o acesso a banco de dados usando as mesmas funções independentemente do SGBD.

PDO está empacotado com PHP 5.1, e está disponível como uma extensão PECL (veja abaixo) para PHP 5.0; não funciona com versões anteriores ao PHP 5. PDO e o driver PDO_SQLITE já estão habilitados por default desde o PHP 5.1.0. No entanto, é necessário habilitar o driver PDO para outros SGBD.

Os seguintes drivers estão disponíveis para implementarem interfaces PDO:

  • PDO_FIREBIRD Firebird/Interbase 6
  • PDO_IBM IBM DB2
  • PDO_INFORMIX IBM Informix Dynamic Server
  • PDO_MYSQL MySQL 3.x/4.x/5.x
  • PDO_OCI Oracle Call Interface
  • PDO_ODBC ODBC v3 (IBM DB2, unixODBC and win32 ODBC)
  • PDO_PGSQL PostgreSQL
  • PDO_SQLITE SQLite 2 e SQLite 3
  • PDO_SQLSRV Microsoft SQL Server / SQL Azure

Como instalar os drivers PDO no Debian?
Para o driver PDO_MYSQL:
# apt-get install php5-mysql
O pacote php5-mysql provê um módulo para conexões de banco de dados MySQL diretamente a partir de scripts PHP. Também inclui o módulo pdo_mysql para uso com a extensão PDO.

Para o driver PDO_PGSQL:
# apt-get install php5-pgsql
O pacote php5-pgsql provê um módulo para conexões de banco de dados PostgreSQL diretamente a partir de scripts PHP. Também inclui o módulo pdo_pgsql para uso com a extensão PDO.

Para o driver PDO_SQLITE:
# apt-get install php5-sqlite

2- PEAR
Pear (PHP Extension and Application Repository) oferece o seguinte:
+ uma biblioteca estruturada de código fonte aberto para programadores PHP;
+ sistema de distribuição de código e gerência de pacote
+ estilo de código padronizado desenvolvido em PHP
+ uma biblioteca de extensões para o PHP (PECL)

PEAR é um sistema de estrutura e distribuição para componentes PHP reutilizáveis, criando uma coleção de funcionalidades de adição para o desenvolvimento de PHP. Cada pacote de código PEAR segue um padrão. Existem muitos pacotes PEAR disponíveis que lidam com finalidades diversas: de gerenciamento de seções até funcionalidades de carrinho de compras. Abaixo lista-se algumas categorias de módulos PEAR:

  •   autenticação;
  •   banco de dados;
  •   data/hora;
  •   encriptação;
  •   internacionalização;
  •   correio;
  •   streams;
  •   e muitas outras. A lista completa de módulos pode ser encontrada em http://pear.php.net/packages.php

O PEAR possui um gerenciador de pacotes chamado “PEAR package manager”, que permite a instalação de de novos pacotes, gerenciamento de pacotes já instalados e verificação de dependência entre eles. Esse gerenciador tem sua funcionalidade semelhante ao “apt-get” do Debian Linux. Este pacote “PEAR package manager” contém as classes base PEAR para o PHP, bem como o instalador PEAR. Muitas classes PEAR já estão empacotados para o Debian, e pode ser facilmente identificados por nomes que começam com “php”, como php-db e php-auth.

Para verificar se o PEAR está instalado no seu sistema, verifique a resposta do sistema ao seginte comando:
$ pear
O programa ‘pear’ não está instalado no momento. Você pode instalá-lo digitando: apt-get install php-pear

No caso acima, o sistema informou que o “PEAR package manager” não está instalado. Proceda a instalação com o seguinte comando:
# apt-get install php-pear

Com a instalação do “PEAR package manager”, pode-se utilizá-lo para instalar os pacotes desejados. Por exemplo, para instalar o pacote MDB2:
# pear install MDB2

No caso acima, o instalador denominado pear abre uma conexão HTTP com o servidor de pacotes do PEAR, obtém o pacote MDB2 e o instala no diretório apropriado. No caso do Debian, o arquivo principal dessa classe estará em: /usr/share/php/MDB2.php , e a documentação correspondente em /usr/share/doc/php5-common/PEAR/MDB2/docs/

Para saber quais os pacotes instalados, utilize o seguinte comando conforme demonstrado no exemplo abaixo:
$ pear list
Installed packages, channel pear.php.net:
=========================================
Package Version State
Archive_Tar 1.3.7 stable
Console_Getopt 1.3.0 stable
MDB2 2.4.1 stable
PEAR 1.9.4 stable
Structures_Graph 1.0.4 stable
XML_Util 1.2.1 stable

3- PECL
PECL (PHP Extension Community Library) é um projeto que distribui extensões PHP (códigos compilados escritos em C) para compilação com o PHP. PECL inclui módulos para muitas finalidades. Extensões PECL são distribuídos como pacotes e podem ser instalados utilizando o instalador PEAR com o comando “pecl”.

O repositório PECL pode ser encontrado em http://pecl.php.net/
A lista de extensões PHP pode ser visualizada em http://pecl.php.net/packages.php

Links:
1- Driver PDO_SQLITE
2- Instalações PECL

Anúncios

Deixe um comentário, pois isto é muito motivante para continuarmos este trabalho

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s