44
55namespace PhpDb \Adapter \Mysql ;
66
7+ use Laminas \ServiceManager \Factory \InvokableFactory ;
8+ use PhpDb \Adapter \AdapterInterface ;
9+ use PhpDb \Adapter \Driver \DriverInterface ;
10+ use PhpDb \Adapter \Driver \Pdo \Result ;
11+ use PhpDb \Adapter \Driver \Pdo \Statement as PdoStatement ;
12+ use PhpDb \Adapter \Driver \PdoDriverInterface ;
13+ use PhpDb \Adapter \Mysql \Driver ;
714use PhpDb \Adapter \Mysql \Metadata \Source \MysqlMetadata ;
15+ use PhpDb \Adapter \Platform \PlatformInterface ;
16+ use PhpDb \Adapter \Profiler ;
817use PhpDb \Container \AdapterManager ;
918use PhpDb \Container \MetadataFactory ;
1019use PhpDb \Metadata \MetadataInterface ;
20+ use PhpDb \ResultSet ;
1121
12- readonly class ConfigProvider
22+ final class ConfigProvider
1323{
1424 public function __invoke (): array
1525 {
1626 return [
17- 'dependencies ' => $ this ->getDependencies (),
27+ 'dependencies ' => $ this ->getDependencies (),
28+ AdapterManager::class => $ this ->getAdapterManagerConfig (),
1829 ];
1930 }
2031
@@ -34,4 +45,41 @@ public function getDependencies(): array
3445 ],
3546 ];
3647 }
48+
49+ public function getAdapterManagerConfig (): array
50+ {
51+ return [
52+ 'aliases ' => [
53+ 'MySqli ' => Driver \Mysqli \Mysqli::class,
54+ 'MySQLi ' => Driver \Mysqli \Mysqli::class,
55+ 'Mysqli ' => Driver \Mysqli \Mysqli::class,
56+ 'mysqli ' => Driver \Mysqli \Mysqli::class,
57+ 'PDO_MySQL ' => Driver \Pdo \Pdo::class,
58+ 'Pdo_MySQL ' => Driver \Pdo \Pdo::class,
59+ 'Pdo_Mysql ' => Driver \Pdo \Pdo::class,
60+ 'pdo_mysql ' => Driver \Pdo \Pdo::class,
61+ 'pdomysql ' => Driver \Pdo \Pdo::class,
62+ 'pdodriver ' => Driver \Pdo \Pdo::class,
63+ 'pdo ' => Driver \Pdo \Pdo::class,
64+ DriverInterface::class => Driver \Mysqli \Mysqli::class,
65+ PdoDriverInterface::class => Driver \Pdo \Pdo::class,
66+ Profiler \ProfilerInterface::class => Profiler \Profiler::class,
67+ ResultSet \ResultSetInterface::class => ResultSet \ResultSet::class,
68+ ],
69+ 'factories ' => [
70+ AdapterInterface::class => Container \AdapterFactory::class,
71+ Driver \Mysqli \Mysqli::class => Container \MysqliDriverFactory::class,
72+ Driver \Mysqli \Connection::class => Container \MysqliConnectionFactory::class,
73+ Driver \Mysqli \Result::class => Container \MysqliResultFactory::class,
74+ Driver \Mysqli \Statement::class => Container \MysqliStatementFactory::class,
75+ Driver \Pdo \Pdo::class => Container \PdoDriverFactory::class,
76+ Driver \Pdo \Connection::class => Container \PdoConnectionFactory::class,
77+ Result::class => Container \PdoResultFactory::class,
78+ PdoStatement::class => Container \PdoStatementFactory::class,
79+ PlatformInterface::class => Container \PlatformInterfaceFactory::class,
80+ Profiler \Profiler::class => InvokableFactory::class,
81+ ResultSet \ResultSet::class => InvokableFactory::class,
82+ ],
83+ ];
84+ }
3785}
0 commit comments