Final Class Yiisoft\Yii\Cycle\Factory\DbalFactory
| Inheritance | Yiisoft\Yii\Cycle\Factory\DbalFactory |
|---|
Public Methods
| Method | Description | Defined By |
|---|---|---|
| __construct() | Yiisoft\Yii\Cycle\Factory\DbalFactory | |
| __invoke() | Yiisoft\Yii\Cycle\Factory\DbalFactory |
Method Details
| public mixed __construct ( array|\Cycle\Database\Config\DatabaseConfig $config ) | ||
| $config | array|\Cycle\Database\Config\DatabaseConfig | |
public function __construct(array|DatabaseConfig $config)
{
if (is_array($config) && array_key_exists('query-logger', $config)) {
$this->logger = $config['query-logger'];
unset($config['query-logger']);
}
$this->dbalConfig = $config;
}
| public \Cycle\Database\DatabaseManager __invoke ( \Psr\Container\ContainerInterface $container ) | ||
| $container | \Psr\Container\ContainerInterface | |
public function __invoke(ContainerInterface $container): DatabaseManager
{
$dbal = new DatabaseManager(
$this->prepareConfig($this->dbalConfig)
);
if ($this->logger !== null) {
$logger = $this->prepareLogger($container, $this->logger);
$dbal->setLogger($logger);
/** Remove when issue is resolved {@link https://github.com/cycle/orm/issues/60} */
$drivers = $dbal->getDrivers();
array_walk($drivers, static fn (Driver $driver) => $driver->setLogger($logger));
}
return $dbal;
}
Signup or Login in order to comment.