4
4
5
5
namespace PhpDb \Adapter \Mysql ;
6
6
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 ;
7
14
use PhpDb \Adapter \Mysql \Metadata \Source \MysqlMetadata ;
15
+ use PhpDb \Adapter \Platform \PlatformInterface ;
16
+ use PhpDb \Adapter \Profiler ;
8
17
use PhpDb \Container \AdapterManager ;
9
18
use PhpDb \Container \MetadataFactory ;
10
19
use PhpDb \Metadata \MetadataInterface ;
20
+ use PhpDb \ResultSet ;
11
21
12
- readonly class ConfigProvider
22
+ final class ConfigProvider
13
23
{
14
24
public function __invoke (): array
15
25
{
16
26
return [
17
- 'dependencies ' => $ this ->getDependencies (),
27
+ 'dependencies ' => $ this ->getDependencies (),
28
+ AdapterManager::class => $ this ->getAdapterManagerConfig (),
18
29
];
19
30
}
20
31
@@ -34,4 +45,41 @@ public function getDependencies(): array
34
45
],
35
46
];
36
47
}
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
+ }
37
85
}
0 commit comments