Pessoal queria saber se está correto esta forma de singleton com pdo.
e tenho uma dúvida no final do script.
se há algo a melhorar não exitem em opinar...
agradeço...
conn.php
<?php
class Connection extends PDO {
private $banco = 'mysql:dbname=nome_da_base;host=localhost';
private $usuario = 'root';
private $senha = '';
public static $handle = null;
function __construct( ) {
try {
if ( self::$handle == null ) {
$dados_conexao = parent::__construct( $this->banco , $this->usuario , $this->senha );
self::$handle = $dados_conexao;
return self::$handle;
}
}
catch ( PDOException $e ) {
echo 'Connection failed: ' . $e->getMessage( );
return false;
}
}
function __destruct( ) {
self::$handle = NULL;
}
}
?>
teste.php
<?php
require_once ("conn.php");
$conn = new Connection;
$result = $conn->query("SELECT * FROM tabela");
if($result)
{
//percorre os resultados via o fetch()
while ($linha = $result->fetch(PDO::FETCH_OBJ))
{
echo $linha->coluna_da_tabela;
}
}
//fecha a conexão
$conn = null;
?>
Este $conn = null limpa a conexão de fato ou não preciso usar?