Subversion-Projekte lars-tiefland.laravel_shop

Revision

Zur aktuellen Revision | Details | 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;
7
 
8
use function db2_connect;
9
use function db2_pconnect;
10
 
11
final class Driver extends AbstractDB2Driver
12
{
13
    /**
14
     * {@inheritdoc}
15
     *
16
     * @return Connection
17
     */
18
    public function connect(array $params)
19
    {
20
        $dataSourceName = DataSourceName::fromConnectionParameters($params)->toString();
21
 
22
        $username      = $params['user'] ?? '';
23
        $password      = $params['password'] ?? '';
24
        $driverOptions = $params['driverOptions'] ?? [];
25
 
26
        if (! empty($params['persistent'])) {
27
            $connection = db2_pconnect($dataSourceName, $username, $password, $driverOptions);
28
        } else {
29
            $connection = db2_connect($dataSourceName, $username, $password, $driverOptions);
30
        }
31
 
32
        if ($connection === false) {
33
            throw ConnectionFailed::new();
34
        }
35
 
36
        return new Connection($connection);
37
    }
38
}