Passed
Push — main ( 1c1b74...973229 )
by Osvaldo
05:20
created

ConexionBaseDeDatos::__construct()   A

Complexity

Conditions 2
Paths 3

Size

Total Lines 16
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 5
CRAP Score 2

Importance

Changes 0
Metric Value
cc 2
eloc 5
c 0
b 0
f 0
nc 3
nop 4
dl 0
loc 16
ccs 5
cts 5
cp 1
crap 2
rs 10
1
<?php
2
namespace src\pdodatabase\conexion;
3
4
use src\excepciones\ConexionABaseDeDatosException;
5
use PDO;
6
use PDOException;
7
8
class ConexionBaseDeDatos
9
{
10
    private $_pdo;
11
    
12 21
    public function __construct
13
    (
14
        HostBaseDeDatos $HostBaseDeDatos,
15
        BaseDeDatos $BaseDeDatos,
16
        UsuarioBaseDeDatos $UsuarioBaseDeDatos,
17
        ContrasenaBaseDeDatos $ContrasenaBaseDeDatos
18
    )
19
    {
20
        try
21
		{
22 21
			$this->_pdo = new PDO('mysql:host='.$HostBaseDeDatos->hostBaseDeDatos().';dbname='.$BaseDeDatos->baseDeDatos().';chartset=utf8mb4',$UsuarioBaseDeDatos->usuarioBaseDeDatos(),$ContrasenaBaseDeDatos->contrasenaBaseDeDatos());
23 20
			$this->_pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
24
		}
25 1
		catch(PDOException)
26
		{
27 1
			throw new ConexionABaseDeDatosException("Error al conectar con base de datos");
28
		}
29 20
    }
30
31 20
    public function conectar(): PDO
32
    {
33 20
        return $this->_pdo;
34
    }
35
}