Code Duplication    Length = 25-25 lines in 2 locations

src/Drivers/PDO/PDODriver.php 1 location

@@ 92-116 (lines=25) @@
89
	 * @return \PDO the database resource object
90
	 * @throws \chillerlan\Database\DBException
91
	 */
92
	public function connect():PDO {
93
94
		if($this->db instanceof PDO){
95
			return $this->db;
96
		}
97
98
		if($this->options->use_ssl){
99
			$this->pdo_options += [
100
				PDO::MYSQL_ATTR_SSL_KEY    => $this->options->ssl_key,
101
				PDO::MYSQL_ATTR_SSL_CERT   => $this->options->ssl_cert,
102
				PDO::MYSQL_ATTR_SSL_CA     => $this->options->ssl_ca,
103
				PDO::MYSQL_ATTR_SSL_CAPATH => $this->options->ssl_capath,
104
				PDO::MYSQL_ATTR_SSL_CIPHER => $this->options->ssl_cipher,
105
			];
106
		}
107
108
		try{
109
			$this->db = new PDO($this->getDSN(), $this->options->username, $this->options->password, $this->pdo_options);
110
		}
111
		catch(PDOException $PDOException){
112
			throw new DBException($PDOException->getMessage());
113
		}
114
115
		return $this->db;
116
	}
117
118
	/**
119
	 * Closes a database connection

src/Drivers/PDO/PDODriverAbstract.php 1 location

@@ 96-120 (lines=25) @@
93
	 * @return \chillerlan\Database\Drivers\DBDriverInterface
94
	 * @throws \chillerlan\Database\DBException
95
	 */
96
	public function connect():DBDriverInterface{
97
98
		if($this->db instanceof PDO){
99
			return $this;
100
		}
101
102
		if($this->options->use_ssl){
103
			$this->pdo_options += [
104
				PDO::MYSQL_ATTR_SSL_KEY    => $this->options->ssl_key,
105
				PDO::MYSQL_ATTR_SSL_CERT   => $this->options->ssl_cert,
106
				PDO::MYSQL_ATTR_SSL_CA     => $this->options->ssl_ca,
107
				PDO::MYSQL_ATTR_SSL_CAPATH => $this->options->ssl_capath,
108
				PDO::MYSQL_ATTR_SSL_CIPHER => $this->options->ssl_cipher,
109
			];
110
		}
111
112
		try{
113
			$this->db = new PDO($this->getDSN(), $this->options->username, $this->options->password, $this->pdo_options);
114
		}
115
		catch(PDOException $PDOException){
116
			throw new DBException($PDOException->getMessage());
117
		}
118
119
		return $this;
120
	}
121
122
	/**
123
	 * Closes a database connection