Driver.php 877 Bytes
Newer Older
1 2 3 4
<?php

namespace Doctrine\DBAL\Driver\OCI8;

5
use Doctrine\DBAL\Driver\AbstractOracleDriver;
6

7
use const OCI_NO_AUTO_COMMIT;
8 9 10 11

/**
 * A Doctrine DBAL driver for the Oracle OCI8 PHP extensions.
 */
12
class Driver extends AbstractOracleDriver
13
{
Benjamin Morel's avatar
Benjamin Morel committed
14 15 16
    /**
     * {@inheritdoc}
     */
17
    public function connect(array $params)
18
    {
19
        return new OCI8Connection(
20 21
            $params['user'] ?? '',
            $params['password'] ?? '',
22 23 24 25 26
            $this->_constructDsn($params),
            $params['charset'] ?? '',
            $params['sessionMode'] ?? OCI_NO_AUTO_COMMIT,
            $params['persistent'] ?? false
        );
27 28 29 30 31
    }

    /**
     * Constructs the Oracle DSN.
     *
32
     * @param mixed[] $params
Benjamin Morel's avatar
Benjamin Morel committed
33
     *
34 35
     * @return string The DSN.
     */
36
    protected function _constructDsn(array $params)
37
    {
38
        return $this->getEasyConnectString($params);
39
    }
Benjamin Eberlei's avatar
Benjamin Eberlei committed
40
}