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

ConexionBaseDeDatos   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Importance

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

2 Methods

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