terça-feira, 8 de outubro de 2013

PDO (PHP Data Objects) Conexão em diversos bancos

É um modulo da linguagem PHP responsável por unificar o acesso a vários banco de dados utilizando uma mesma sintaxe, atuando ainda na camada de abstração do PHP.
Vantagem
- Fornece uma biblioteca limpa e consistente, para deixar unificadas as características das extensões que acessam os bancos de dados.
Desvantagem
- Não efetua a leitura e tradução das instruções SQL, é apenas realizada a fusão dos métodos mandados para extensão respectiva.

Características PDO
Flexibilidade -  Como o PDO carrega driver especifico 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 em PHP, o que lhe garante um aumento considerável no desempenho em relação a sua escritas em PHP.
Consistência de código – No PDO não existe 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 a objetos, o que resulta em uma comunicação mais poderosa e eficiente com banco de dados.
Instalação
O PDO vem junto com o PHP 5.1 (e nas versões mais recentes), por isso quem possuir essa versão terá apenas verificar se no php.ini possui a linha:

extension=php_pdo.dll
extension=php_pdo_mysql.dll

Conexão para o banco de dados POSTGRESQL
New PDO(‘pgsql: dbname=example; user=usuário; password=senha; host=localhost’);


Fazendo a Conexão


use PDO;
    class Database{
        //variavel global (conexao com o BD)
        public static $db;

        //Nosso metodo de instancia
        public function instance(){
          //se não existir a conexao com o banco de dados ele cria, senão ele retorna a conexao.
            if (!self::$db) {
                //
                $db = new Database();
                //Cria a conexao
                self::$db = $this->connect();
            }
            //
            return self::$db;
        }
        // Nossa conexão com PDO
        private function connect(){
            //Instanciar o PDO, onde teste é o nome do meu banco,
            $db = new PDO('pgsql:dbname=teste;user=postgres; password=pgsql;host= localhost');
            //serve para tratamento de erro
            $db->setAttribute(PDO::ATTR_ERRMODE, ERRMODE_EXCEPTION);
            //
            return $db;
        }
    }
    //Instancia de Database
    $db = new Database();
    //Para inserir precisa chamar o instance
    $bancodedados = $db->instance();
    //inserindo dados
    $bancodedados->query("insert into cliente values (123124,'Maria','F',23456676)");

?>

Agora só executar que será inserido no banco de dados....

Nenhum comentário:

Postar um comentário