Revision 148 | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed
<?phpnamespace 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;}}