PHP Velho Oeste 2024

Mudanças no suporte a banco de dados

Visão geral do PDO

PHP Data Objects (PDO) foram introduzidos como uma extensão PECL em versões anteriores ao PHP 5.0, e se tornaram parte do core do PHP na versão PHP 5.1.x. A extensão PDO disponibiliza uma interface consistente para acesso a banco de dados, e é usado paralelamente aos drivers PDO específicos para cada banco de dados. Cada driver também pode ter funções específicas próprias, mas a funcionalidade básica de acesso aos dados tais como consultas e busca de dados são cobertas por funções do PDO, usando o driver nomeado em PDO::__construct().

Note que a extensão PDO. e seus drivers, destinam-se a ser construídos como extensões compartilhadas. Isso irá permitir atualizações diretas do PECL, sem forçá-lo a recompilar todo o PHP.

No momento do lançamento da versão do PHP 5.1.x, o PDO está mais do que pronto para testes gerais e pode ser utilizado na maioria das situações. Entretanto, é importante entender que o PDO e seus drivers são relativamente novos e podem faltar certas características específicas; analise cuidadosamente o PDO antes de usá-lo em novos projetos.

Código legado geralmente conta com extensões de banco de dados pré-existentes, que ainda são mantidas.

Mudanças no suporte ao MySQL

No PHP 4, MySQL 3 era suportado nativamente. Com o lançamento do PHP 5.0 houveram duas novas extensões do MySQL, chamadas 'mysql' e 'mysqli', que foram designadas para dar suporte ao MySQL < 4.1 e MySQL 4.1 e superiores, respectivamente. Com a introdução do PDO, que proprociona uma interface muito rápida para todas as APIs de banco de dados suportadas pelo PHP, o driver PDO_MYSQL pode suportar qualquer uma da versões atuais (MySQL 3, 4 or 5) de código PHP desenvolvido para PDO, dependendo da versão da biblioteca MySQL usada durante a compilação. As extensões antigas do MySQL continuam por razões de retrocompatibilidade, mas não vem habilitadas por padrão.

Mudanças no suporta ao SQLite

No PHP 5.0.x, o suporte ao SQLite 2 foi fornecido pela extensão interna sqlite, que também está disponível como uma extensão do PECL no PHP 4.3 e PHP 4.4. Com a introdução od PDO, a extensão sqlite age como um driver 'sqlite2' para o PDO; é devido a isso que a extensão sqlite no PHP 5.1.x tem uma dependência sobre a extensão PDO.

PHP 5.1.x disponibiliza várias alternativas de interface ao sqlite:

A extensão do sqlite disponibiliza a "clássica" API procedural/OO sqlite que você deve ter usado em versões anteriores do PHP. Isto também disponibiliza o driver PDO 'sqlite2', que permite você a acessar banco de dados SQLite 2 legados usando API PDO.

PDO_SQLITE disponibiliza a versão 3 do driver 'sqlite'. A versão 3 do SQLite é muito superior a versão 2 do SQLite, mas os formatos de arquivo entre as as versões não são compatíveis.

Se o seu projeto baseado em SQLite já foi desenvolvido e foi escrito em versões anteriores do PHP, então você pode continuar usando ext/sqlite sem problemas, mas você precisará habilitar explicitamento o PDO e sqlite. Novos projetos devem usar o PDO e o driver 'sqlite' (versão 3), que é mais rápido que o SQLite 2, teve melhorias de concorrências e locks, e no suporte de prepared statements e binary columns nativamente.

Você deve habilitar o PDO para usar a extensão SQLite. Se você quiser desenvolver a extensão PD0 como uma extensao compartilhada, então a extensão SQLite também deve ser desenvolvida como compartilhada. O mesmo se mantém verdadeiro para qualquer extensão que disponibiliza um driver PD0.

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top