Subversion-Projekte lars-tiefland.laravel_shop

Revision

Revision 148 | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
namespace Doctrine\DBAL\Driver\IBMDB2;
4
 
5
use Doctrine\DBAL\Driver\AbstractDB2Driver;
6
use Doctrine\DBAL\Driver\IBMDB2\Exception\ConnectionFailed;
621 lars 7
use SensitiveParameter;
148 lars 8
 
9
use function db2_connect;
10
use function db2_pconnect;
11
 
12
final class Driver extends AbstractDB2Driver
13
{
14
    /**
15
     * {@inheritdoc}
16
     *
17
     * @return Connection
18
     */
621 lars 19
    public function connect(
20
        #[SensitiveParameter]
21
        array $params
22
    ) {
148 lars 23
        $dataSourceName = DataSourceName::fromConnectionParameters($params)->toString();
24
 
25
        $username      = $params['user'] ?? '';
26
        $password      = $params['password'] ?? '';
27
        $driverOptions = $params['driverOptions'] ?? [];
28
 
29
        if (! empty($params['persistent'])) {
30
            $connection = db2_pconnect($dataSourceName, $username, $password, $driverOptions);
31
        } else {
32
            $connection = db2_connect($dataSourceName, $username, $password, $driverOptions);
33
        }
34
 
35
        if ($connection === false) {
36
            throw ConnectionFailed::new();
37
        }
38
 
39
        return new Connection($connection);
40
    }
41
}