-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdb.php
More file actions
63 lines (54 loc) · 1.34 KB
/
Copy pathdb.php
File metadata and controls
63 lines (54 loc) · 1.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
/**
* Classe usada para estabelecer ligação e gerir as ligações
* a base de dados
*/
class Db{
// Hold the class instance.
private static $instance = null;
private $conn;
private $host = '';
private $user = '';
private $pass = '';
private $name = '';
// The db connection is established in the private constructor.
private function __construct()
{
$host = '127.0.0.1';
$db = 'ponchaadvisor';
$user = 'root';
$pass = '';
$charset = 'utf8';
//Permite definir a configuração da base de dados
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$opt = array(
//Em caso de erro ocorre excepcao
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
//Define o comportamento por defeito do fetch
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
//Ativa/desativa emular prepared statements
PDO::ATTR_EMULATE_PREPARES => false,
);
$this->conn = new PDO($dsn, $user, $pass, $opt);
}
/**
* Retorna a instancia unica da class DB,
* @return DB instancia
*/
public static function getInstance()
{
if(!self::$instance){
self::$instance = new Db();
}
return self::$instance;
}
/**
* Retorna a ligação a base de dados
*
* @return PDO Ligação a base de dados
*/
public function getConnection()
{
return $this->conn;
}
}