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)

<?
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(); }
?>




Rec6 Digg del.icio.us

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!


Avaliar:


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


Top 5 membros

Últimos membros online

Últimos membros cadastrados