public function register()
{
$dic = $this->app->getContainer();
$dic->share('Autarky\\Database\\PDOInstantiator');
$dic->alias('Autarky\\Database\\PDOInstantiator', 'Autarky\\Database\\PDOInstantiatorInterface');
$dic->share('Autarky\\Database\\ConnectionFactory');
$dic->alias('Autarky\\Database\\ConnectionFactory', 'Autarky\\Database\\ConnectionFactoryInterface');
$dic->define('Autarky\\Database\\ConnectionManager', function (ContainerInterface $dic) {
return new ConnectionManager($this->app->getConfig(), $dic->resolve('Autarky\\Database\\ConnectionFactoryInterface'));
});
$dic->share('Autarky\\Database\\ConnectionManager');
$factory = new Definition(['Autarky\\Database\\ConnectionManager', 'getPdo']);
$factory->addScalarArgument('$connection', 'string', false, null);
$dic->define('PDO', $factory);
}