Viewing file: Driver.php (1.39 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace Doctrine\DBAL\Driver\PDO\OCI;
use Doctrine\DBAL\Driver\AbstractOracleDriver; use Doctrine\DBAL\Driver\PDO\Connection; use Doctrine\DBAL\Driver\PDO\Exception; use PDO; use PDOException; use SensitiveParameter;
final class Driver extends AbstractOracleDriver { /** * {@inheritDoc} * * @return Connection */ public function connect( #[SensitiveParameter] array $params ) { $driverOptions = $params['driverOptions'] ?? [];
if (! empty($params['persistent'])) { $driverOptions[PDO::ATTR_PERSISTENT] = true; }
$safeParams = $params; unset($safeParams['password'], $safeParams['url']);
try { $pdo = new PDO( $this->constructPdoDsn($params), $params['user'] ?? '', $params['password'] ?? '', $driverOptions, ); } catch (PDOException $exception) { throw Exception::new($exception); }
return new Connection($pdo); }
/** * Constructs the Oracle PDO DSN. * * @param mixed[] $params */ private function constructPdoDsn(array $params): string { $dsn = 'oci:dbname=' . $this->getEasyConnectString($params);
if (isset($params['charset'])) { $dsn .= ';charset=' . $params['charset']; }
return $dsn; } }
|