0 follower

Final Class Yiisoft\Yii\Cycle\Factory\DbalFactory

InheritanceYiisoft\Yii\Cycle\Factory\DbalFactory

Method Details

Hide inherited methods

__construct() public method

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

            
__invoke() public method

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