%PDF- %PDF-
Direktori : /home/graphicd/public_html/vebto/vendor/doctrine/dbal/src/Logging/ |
Current File : /home/graphicd/public_html/vebto/vendor/doctrine/dbal/src/Logging/Driver.php |
<?php declare(strict_types=1); namespace Doctrine\DBAL\Logging; use Doctrine\DBAL\Connection as DBALConnection; use Doctrine\DBAL\Driver as DriverInterface; use Doctrine\DBAL\Driver\API\ExceptionConverter; use Doctrine\DBAL\Platforms\AbstractPlatform; use Doctrine\DBAL\VersionAwarePlatformDriver; use Psr\Log\LoggerInterface; final class Driver implements VersionAwarePlatformDriver { /** @var DriverInterface */ private $driver; /** @var LoggerInterface */ private $logger; /** * @internal This driver can be only instantiated by its middleware. */ public function __construct(DriverInterface $driver, LoggerInterface $logger) { $this->driver = $driver; $this->logger = $logger; } /** * {@inheritDoc} */ public function connect(array $params) { $this->logger->info('Connecting with parameters {params}', ['params' => $this->maskPassword($params)]); return new Connection( $this->driver->connect($params), $this->logger ); } /** * {@inheritDoc} */ public function getDatabasePlatform() { return $this->driver->getDatabasePlatform(); } /** * {@inheritDoc} */ public function getSchemaManager(DBALConnection $conn, AbstractPlatform $platform) { return $this->driver->getSchemaManager($conn, $platform); } public function getExceptionConverter(): ExceptionConverter { return $this->driver->getExceptionConverter(); } /** * {@inheritDoc} */ public function createDatabasePlatformForVersion($version) { if ($this->driver instanceof VersionAwarePlatformDriver) { return $this->driver->createDatabasePlatformForVersion($version); } return $this->driver->getDatabasePlatform(); } /** * @param array<string,mixed> $params Connection parameters * * @return array<string,mixed> */ private function maskPassword(array $params): array { if (isset($params['password'])) { $params['password'] = '<redacted>'; } return $params; } }