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

ConexionBaseDeDatos   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 8
c 0
b 0
f 0
dl 0
loc 26
ccs 8
cts 8
cp 1
rs 10
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A conectar() 0 3 1
A __construct() 0 16 2
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
}