Completed
Pull Request — develop (#3524)
by Jonathan
95:41 queued 92:25
created

Driver::getName()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 3
ccs 2
cts 2
cp 1
rs 10
c 0
b 0
f 0
cc 1
eloc 1
nc 1
nop 0
crap 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Doctrine\DBAL\Driver\SQLSrv;
6
7
use Doctrine\DBAL\Driver\AbstractSQLServerDriver;
8
9
/**
10
 * Driver for ext/sqlsrv.
11
 */
12
class Driver extends AbstractSQLServerDriver
13
{
14
    /**
15
     * {@inheritdoc}
16
     */
17
    public function connect(array $params, $username = null, $password = null, array $driverOptions = [])
18
    {
19
        if (! isset($params['host'])) {
20
            throw new SQLSrvException("Missing 'host' in configuration for sqlsrv driver.");
21
        }
22
23
        $serverName = $params['host'];
24
        if (isset($params['port'])) {
25
            $serverName .= ', ' . $params['port'];
26
        }
27
28
        if (isset($params['dbname'])) {
29
            $driverOptions['Database'] = $params['dbname'];
30
        }
31
32
        if (isset($params['charset'])) {
33
            $driverOptions['CharacterSet'] = $params['charset'];
34
        }
35
36
        if ($username !== null) {
37
            $driverOptions['UID'] = $username;
38
        }
39
40
        if ($password !== null) {
41
            $driverOptions['PWD'] = $password;
42
        }
43
44
        if (! isset($driverOptions['ReturnDatesAsStrings'])) {
45
            $driverOptions['ReturnDatesAsStrings'] = 1;
46
        }
47
48
        return new SQLSrvConnection($serverName, $driverOptions);
49
    }
50
51
    /**
52
     * {@inheritdoc}
53
     */
54 28
    public function getName()
55
    {
56 28
        return 'sqlsrv';
57
    }
58
}
59