PDO - Introdução e conceitos

Uma introdução aos conceitos de utilização dessa extensão do PHP, que é uma forma nativa rápida e de fácil utilização de conectar a banco de dados, manipular e recuperar dados com métodos simples e poderosos.

[ Hits: 35.538 ]

Por: Adilson Santos da Rocha em 14/04/2008


Introdução



Ao desenvolver sistemas em php sempre havia algo que preocupava a equipe de desenvolvimento, a camada de acesso ao banco de dados na aplicação. Muitos optavam em criar suas próprias classes onde tratavam fatores como conexão persistente, escape das queries para evitar sqlinjection, faziam o tratamento de erros ou de execução em queries, preparação e verificação de tipos de dados em campos numéricos e datas etc. Outros utilizavam PEAR DB, ou um outro dos excelentes pacotes PEAR ou uma outra classe muito famosa, a ADODB.

Porém cada uma dessas opções tinha seus prós e contras, como tudo, ofereciam método de execução, fetch e tudo mais, porém havia necessidade de inclusão de arquivos de configurações, e um certo custo na performance da aplicação. Agora com as versões 5.1 ou superiores do php há uma interface rápida, nativa e confiável para o acesso e interação com bancos de dados. Com boas práticas de programação e uso da orientação a objetos pode-se construir aplicações que funcionam em vários bancos com praticamente sem esforço.

Apresentando a PDO

PDO é uma extensão do php que fornece uma interface rápida, segura e leve para acesso e manipulação de banco de dados. Mais do que métodos para acesso a bancos, execução de "queries" e "fetchs". PDO também oferece controle de transações com commit e rollback, e um item importante para a velocidade de produção do projeto, ao invés de trabalhar com erros, pode-se trabalhar com exceções, o que torna menos traumático "debugar" e tratar inconformidades de dados e outros erros. Uma informação importante é que a PDO gera exceções de uma da classe PDOException, portanto deve-se utilizar catch (PDOException $e) para capturar as exceções.

Instalação

A instalação do PDO é muito simples, e na maioria das distribuições ao instalar o php 5.2.x PDO já é instalado automaticamente.

PDO trabalha com o auxílio de drivers para conexão com os banco de dados, portanto deve-se instalar os drivers PDO para os bancos do qual se pretende trabalhar. Há drivers para a maioria dos bancos como MySQL, PostgreSQL, Oracle e ainda a possibilidade de conectar usando ODBC.

Para instalar o PDO basta instalar os pacotes php-pdo e php-pdo_mysql, php-pdo_pgsql ou php-pdo_banco.

Utilizando sua ferramenta de gerenciamento de pacotes yum, urpmi, apt-get.

Para conferir se sua instalação do php tem suporte a PDO e quais drivers da suporte carregue um arquivo php com o código:

<?php
    phpinfo();
?>

    Próxima página

Páginas do artigo
   1. Introdução
   2. Conetando e executando queries
   3. Transações
Outros artigos deste autor

Engenharia de Software - Fazer melhor o software e fazer o software melhor

Ninguém planeja fracassar, mas muitos fracassam por não planejar

Aumente sua produção em PHP

Leitura recomendada

Servidor Web com Fedora Core 7

Executando comandos DML em base de dados MySQL através do Eclipse PHP (Bônus: Temas e Fontes no Eclipse)

Criando backup do MySQL com o mysqldump

Sistema PDV com PHP-GTK2 e ACBrMonitor (parte 2)

Paginando resultados com a classe Generic Easy Pagination

  
Comentários
[1] Comentário enviado por edirlf em 14/04/2008 - 12:45h

Já está nos favoritos. Parabéns.

[2] Comentário enviado por ygorth em 14/04/2008 - 15:02h

Parabéns.

Excelente artigo para introdução de PDO, direto ao ponto!

[3] Comentário enviado por JhoniVieceli em 15/04/2008 - 13:33h

Isso ai Adilson vou add nos meus favoritos.

Boa pra caramba o artigo e de fácil entendimento

abraço!

[4] Comentário enviado por denis.roschel em 13/06/2008 - 09:05h

Parabéns pelo artigo! Muito didático

[5] Comentário enviado por admtempos em 01/06/2009 - 12:27h

Muito Bom este post principalmente para quem esta começando agora

[6] Comentário enviado por will fernando em 10/08/2009 - 15:00h

muito bom .. parabens !

[7] Comentário enviado por mbmaciel em 31/01/2010 - 16:48h

Artigo de alto nivel e muito bem escrito. Parabens!

[8] Comentário enviado por henbran em 26/05/2010 - 08:56h

Bom Dia.
ESTOU COM UMA DÚVIDA EM HERANÇA EXTENDS

tenho 1 classe:
___________________________________
class A{
public function funcaoA(){
//detalhes
}
}
ººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººº

Então tenho outra classe:
___________________________________
class B extends A{
public function funcaoA(){
//detalhes
}
}
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Quando tento instanciar a classe B, sendo estendida da classe A, não instancia.
ex. $instanciaB = new B(); // não funciona.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Se tiro o extends A da declaração da classe B (ficando assim: class B{ ... }), então instancia.
................................................................................................................
Já cheguei a testar todas as classes vazias, tentando saber se haveria algo de errado com as functions, porém mesmo assim continua no mesmo problema.
*******************************************************************************************
POR FAVOR, COMO EU DEVERIA FAZER ENTÃO???

[9] Comentário enviado por removido em 24/12/2010 - 15:46h

Muito bom. Parabéns!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts