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?