Passed
Push — main ( c8f39c...1a4746 )
by Osvaldo
02:04
created

ConexionBaseDeDatos::conectar()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
c 0
b 0
f 0
nc 1
nop 0
dl 0
loc 3
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
    public function __construct
13
    (
14
        HostBaseDeDatos $HostBaseDeDatos,
15
        BaseDeDatos $BaseDeDatos,
16
        UsuarioBaseDeDatos $UsuarioBaseDeDatos,
17
        ContraseñaBaseDeDatos $ContraseñaBaseDeDatos
18
    )
19
    {
20
        try
21
		{
22
			$this->_pdo = new PDO('mysql:host='.$HostBaseDeDatos->hostBaseDeDatos().';dbname='.$BaseDeDatos->baseDeDatos().';chartset=utf8mb4',$UsuarioBaseDeDatos->usuarioBaseDeDatos(),$ContraseñaBaseDeDatos->contraseñaBaseDeDatos());
23
			$this->_pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
24
		}
25
		catch(PDOException)
26
		{
27
			throw new ConexionABaseDeDatosException("Error al conectar con base de datos");
28
		}
29
    }
30
31
    public function conectar(): PDO
32
    {
33
        return $this->_pdo;
34
    }
35
}