<< Click to Display Table of Contents >> Conexao.php |
![]() ![]() ![]() |
<?php
namespace persistencia;
use \PDO;
use \PDOException;
class Conexao {
const OPCOES = [PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ,
PDO::ATTR_CASE => PDO::CASE_NATURAL
];
private static $instancia;
/**
* @return PDO
*/
public static function getConexao(): PDO {
if (empty(self::$instancia)) {
try {
self::$instancia = new PDO("mysql:host=" . DB_HOST . ";dbname=" . DB_BASE, DB_USER, DB_PASS, self::OPCOES);
} catch (PDOException $ex) {
die("Erro ao conectar " . $ex->getMessage());
}
}
return self::$instancia;
}
// não permite instanciar com new
final private function __construct() {
}
// não permite clonar
final private function __clone() {
}
public static function desconectar() {
self::$instancia = null;
}
}