PHP Data Object - Parte 2 - ConnectionFactory
Autor/fonte: Aderbal Nunes
E-mail/Url: http://www.revistaphp.com.br/artigo.php?id=132
Tags: [ pdo ]
Continuando nosso assunto sobre PHP Data Object, vou mostrar como pode ser útil uma fábrica de conexões utilizando o PDO. Iremos ver também nos próximos posts desse artigo como utilizar o padrão de projeto de classes DAO (Data Access Object), a idéia é fazer que o programador não se preocupe com conexão com o banco.
O DAO cria uma camada na aplicação separando as rotinas de acesso a banco de dados, geração de SQL, das rotinas de negócio de tal modo que os objetos de negócio não saibam como estão sendo gravados.
Vamos para a nossa classe PDOConnectionFactory:
PDOConnectionFactory.class.php (utilizando o MySQL)
Com todas as extensões do PHP necessárias para o PDO funcionar instaladas, vamos testar essa nossa classe. Crie um novo arquivo TesteConnect.php e faça o seguinte.
O DAO cria uma camada na aplicação separando as rotinas de acesso a banco de dados, geração de SQL, das rotinas de negócio de tal modo que os objetos de negócio não saibam como estão sendo gravados.
Vamos para a nossa classe PDOConnectionFactory:
PDOConnectionFactory.class.php (utilizando o MySQL)
<?
class PDOConnectionFactory{
// recebe a conexão
public $con = null;
// qual o banco de dados?
public $dbType = "mysql";
// parâmetros de conexão
// quando não for necessário deixe em branco apenas com as aspas duplas ""
public $host = "localhost";
public $user = "root";
public $senha = "";
public $db = "teste";
// seta a persistência da conexão
public $persistent = false;
// new PDOConnectionFactory( true ) <--- conexão persistente
// new PDOConnectionFactory() <--- conexao não persistente
public function PDOConnectionFactory( $persistent=false ){
// verifico a persistência da conexao
if( $persistent != false){ $this->persistent = true; }
}
public function getConnection(){
try{
// realiza a conexão
$this->con = new PDO($this->dbType.":host=".$this->host.";dbname=".$this->db, $this->user, $this->senha,
array( PDO::ATTR_PERSISTENT => $this->persistent ) );
// realizado com sucesso, retorna conectado
return $this->con;
// caso ocorra um erro, retorna o erro;
}catch ( PDOException $ex ){ echo "Erro: ".$ex->getMessage(); }
}
// desconecta
public function Close(){
if( $this->con != null )
$this->con = null;
}
}
?>
Com todas as extensões do PHP necessárias para o PDO funcionar instaladas, vamos testar essa nossa classe. Crie um novo arquivo TesteConnect.php e faça o seguinte.
<?php
@require("PDOConnectionFactory.class.php");
try {
$pdo = new PDOConnectionFactory();
$pdo->getConnection();
// estou conectado
echo "Sucesso";
$pdo = null;
}catch (PDOException $ex){ echo $ex->getMessage(); }
?>

Enviado por xKuRt em 17/07/2007 às 11:16
Itens relacionados
PDO Connection Factory na prática - Parte 1
Fazendo o construtor da classe retornar o objeto PDO
Fazendo uma classe que conecte ao PDO em Singleton
Trabalhando com PDO
PDO: Bancos de dados no PHP 5
PDO: Facilidade, flexibilidade e segurança
phpDocumentor - A solução completa em documentação em PHP
XAMPP 1.7.0 Problemas com PDO Select
PDO - Introdução e conceitos
PHP Data Object - Parte 1
Listar todos itens relacionados
Avaliação
Esta publicação ainda não foi avaliada!
A avaliação de publicações é restrita a membros cadastrados e logados no nosso site.
Comentários
Este artigo ainda não foi comentado ou o(s) comentário(s) que foi(ram) enviado(s) a ele ainda não foi(ram) publicado(s).
Envio de comentário:
Quinta, 02 de Setembro de 2010
Área restrita
Leitura recomendada
Últimas publicações
Top 5 membros
- dddweb213 pts
- Jotah191 pts
- fbinasco165 pts
- andersonop153 pts
- fredbcn117 pts
Últimos membros cadastrados
- reniltonem 02/09
- baixehdem 02/09
- danilocarlosem 02/09



