Introdução ao PHP Data Objects - PDO
Veja neste artigo uma breve introdução ao PDO (PHP Data Objects), um módulo da linguagem PHP responsável por unificar o acesso a vários bancos de dados utilizando uma mesma sintaxe, atuando ainda na camada de abstração do PHP.
No desenvolvimento de aplicações baseadas na linguagem PHP, surgiu a necessidade de juntar o acesso de diversas extensões de banco de dados presentes na linguagem, com isso surgiu o PHP Data Object (PDO), que realiza também a abstração do banco de dados.
A sua vantagem está no objetivo de fornecer uma biblioteca limpa e consistente, para deixar unificadas as características das extensões que acessam os bancos de dados. Porém, o PDO possui também algumas desvantagens, por exemplo, não efetua a leitura e tradução das instruções SQL, é apenas realizada uma fusão dos métodos mandados para as extensões respectivas.
Curso: Introdução ao PHP
Características PDO
Flexibilidade – Como o PDO carrega o driver específico do banco de dados em tempo de execução, não é preciso reconfigurar o PHP sempre que um banco de dados diferente for usado.
Desempenho – O PDO está escrito em C e compilado no PHP, o que lhe garante um aumento considerável no desempenho em relação a soluções escritas em PHP.
Consistência de código – No PDO não existe a inconsistência de código, pois é oferecida apenas uma interface unificada que é está disponível para qualquer banco de dados.
Características de orientação de objetos – Possui recursos de orientação de objetos, o que resulta em uma comunicação mais poderosa e eficiente com banco de dados.
Instalação do PDO
O PDO vem junto com a versão 5.1 do PHP ou mais recente, por isso quem possuir essa versão terá apenas que efetuar uma configuração, adicionando a linha abaixo no arquivo php.ini.
extension=php_pdo.dll
extension=php_pdo_mysql.dll
Conexão para diversos bancos de dados
Para realizar a conexão com os bancos de dados, muda-se apenas a string da conexão. Abaixo alguns exemplos de conexão para alguns bancos de dados estão sendo demonstrados:
- SQLite – new PDO(‘sqlite:nomeConexao.db’);
- FireBird – new PDO(“firebird:dbname=C:\\nomeBase.DB”, “SYSDBA”, “masterkey”);
- MySQL – new PDO(‘mysql:host=localhost:port=3307;dbname=nomeBase’, ‘usuario’, ‘senha’);
- Postgress – new PDO(‘pgsql:dbname=example;user=usuario;password=senha;host=localhost’);
Opções relacionadas à conexão do PDO
Existem várias opções relacionadas à conexão com o banco no PDO, abaixo estão algumas:
- PDO_ATTR_PERSISTENT: determina se a conexão é persistente, vem como padrão configurado como FALSE.
- PDO_ATTR_PREFETCH: é um recurso do banco de dados que retorna várias linhas da consulta realizada, mesmo que o usuário tenha requisitado apenas uma linha, são automaticamente retornados mais linhas.
- PDO_ATTR_CASE: pode converter as letras das colunas para maiúsculas, minúsculas ou estado natural (como vem do banco), podendo ser configurado os seguintes valores: PDO_CASE_UPPER, PDO_CASE_LOWER ou PDO_CASE_NATURAL.
- PDO_ATR_EMULATE_PREPARES: essa função habilitada fornece a possibilidade que as prepared statements tirem vantagem do cache de query do MySQL.
- PDO_DEFAULT_FETCH_MODE: configura o modo de fetching default(arrays associativos, arrays indexados ou objetos), o que pode facilitar na implementação de um método em particular.
- PDO_ATTR_AUTOCOMMIT: determina se o PDO faz commit de cada query quando for executada, ou irá esperar que o método commit() seja executado antes de tornar as alterações efetivas.
- PDO_ATTR_CONNECTION_STATUS: contém informações do banco de dados sobre o status da conexão, se foi bem sucedida ou não.
Espero que tenham gostado e até a próxima!
Saiu na DevMedia!
- Descubra o melhor caminho para aprender PHP:
Existem muitas razões para usar o PHP para a programação de aplicações web. Em primeiro lugar, é uma linguagem livre, sem taxas de licenciamento, de modo que o custo de usá-la é mínimo.
Saiba mais sobre PHP ;)
- ÚLTIMAS ATUALIZAÇÕES PHP:
Nesta página listamos os últimos artigos, vídeos e cursos sobre PHP. Aprenda PHP com MySQL, PDO, MVC, Composer, CRUD, Laravel e Web services Restful.
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo