Oracle   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 4
eloc 14
c 1
b 0
f 0
dl 0
loc 30
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A connectToServer() 0 21 3
A languageDialect() 0 3 1
1
<?php
2
3
namespace kalanis\kw_mapper\Storage\Database\PDO;
4
5
6
use kalanis\kw_mapper\Storage\Database\Dialects;
7
use PDO;
8
9
10
/**
11
 * Class Oracle
12
 * @package kalanis\kw_mapper\Storage\Database\PDO
13
 * @codeCoverageIgnore remote connection
14
 */
15
class Oracle extends APDO
16
{
17
    protected string $extension = 'pdo_oci';
18
19
    public function languageDialect(): string
20
    {
21
        return Dialects\Oracle::class;
22
    }
23
24
    protected function connectToServer(): PDO
25
    {
26
        $connection = new PDO(
27
            sprintf('oci:dbname=%s',
28
                $this->config->getLocation()
29
            ),
30
            $this->config->getUser(),
31
            $this->config->getPassword()
32
        );
33
34
        $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
35
36
        if ($this->config->isPersistent()) {
37
            $connection->setAttribute(PDO::ATTR_PERSISTENT, true);
38
        }
39
40
        foreach ($this->attributes as $key => $value){
41
            $connection->setAttribute($key, $value);
42
        }
43
44
        return $connection;
45
    }
46
}
47