Passed
Pull Request — master (#24)
by Wanderson
06:44
created

Mysql   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 2
eloc 11
dl 0
loc 27
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A connect() 0 13 2
1
<?php
2
3
namespace Win\Repositories;
4
5
use PDO;
6
7
/**
8
 * Conexão com banco de dados MySQL
9
 */
10
class Mysql
11
{
12
	/**
13
	 * Cria conexão via PDO
14
	 *
15
	 * @param array $db [
16
	 * 		'host'=> (string),
17
	 * 		'dbname' => (string),
18
	 * 		'user' => (string),
19
	 * 		'pass' => (string)
20
	 * 	];
21
	 * 
22
	 * @return PDO
23
	 */
24
	public static function connect($db)
25
	{
26
		try {
27
			$pdo = new PDO(
28
				'mysql:host=' . $db['host'] . ';dbname=' . $db['dbname'],
29
				$db['user'],
30
				$db['pass'],
31
				[PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
32
			);
33
			$pdo->exec('set names utf8');
34
			return $pdo;
35
		} catch (\PDOException $e) {
36
			throw new DbException('Ocorreu um erro ao conectar o banco de dados.', 503, $e);
37
		}
38
	}
39
}
40