%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;
}
}