Skip to content

Commit cc8786d

Browse files
committed
push for phpunit run
Signed-off-by: Joey Smith <[email protected]> Signed-off-by: Joey Smith <[email protected]>
1 parent c99b1e5 commit cc8786d

File tree

3 files changed

+70
-53
lines changed

3 files changed

+70
-53
lines changed

psalm-baseline.xml

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,25 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<files psalm-version="6.12.0@cf420941d061a57050b6c468ef2c778faf40aee2">
3-
<file src="src/ConfigProvider.php">
4-
<ClassMustBeFinal>
5-
<code><![CDATA[ConfigProvider]]></code>
6-
</ClassMustBeFinal>
7-
</file>
2+
<files psalm-version="6.12.1@e71404b0465be25cf7f8a631b298c01c5ddd864f">
83
<file src="src/Container/AdapterFactory.php">
94
<UnnecessaryVarAnnotation>
105
<code><![CDATA[PlatformInterface]]></code>
116
<code><![CDATA[ProfilerInterface|null]]></code>
127
<code><![CDATA[ResultSetInterface]]></code>
138
</UnnecessaryVarAnnotation>
149
</file>
10+
<file src="src/Container/AdapterManagerDelegator.php">
11+
<InvalidClass>
12+
<code><![CDATA[ConfigProvider]]></code>
13+
</InvalidClass>
14+
</file>
15+
<file src="src/Container/MysqlMetadataFactory.php">
16+
<ArgumentTypeCoercion>
17+
<code><![CDATA[$adapter]]></code>
18+
</ArgumentTypeCoercion>
19+
<UnusedClass>
20+
<code><![CDATA[MysqlMetadataFactory]]></code>
21+
</UnusedClass>
22+
</file>
1523
<file src="src/Container/MysqliResultFactory.php">
1624
<UnusedParam>
1725
<code><![CDATA[$container]]></code>
@@ -648,9 +656,9 @@
648656
</PossiblyNullArgument>
649657
</file>
650658
<file src="test/integration/Driver/Pdo/TableGatewayTest.php">
651-
<InvalidArgument>
659+
<ArgumentTypeCoercion>
652660
<code><![CDATA[$adapter]]></code>
653-
</InvalidArgument>
661+
</ArgumentTypeCoercion>
654662
<PossiblyInvalidArgument>
655663
<code><![CDATA[testTableGatewayWithMetadataFeature]]></code>
656664
</PossiblyInvalidArgument>

src/ConfigProvider.php

Lines changed: 50 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,28 @@
44

55
namespace 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;
714
use PhpDb\Adapter\Mysql\Metadata\Source\MysqlMetadata;
15+
use PhpDb\Adapter\Platform\PlatformInterface;
16+
use PhpDb\Adapter\Profiler;
817
use PhpDb\Container\AdapterManager;
918
use PhpDb\Container\MetadataFactory;
1019
use 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
}

src/Container/AdapterManagerDelegator.php

Lines changed: 4 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,8 @@
55
namespace PhpDb\Adapter\Mysql\Container;
66

77
use Laminas\ServiceManager\Factory\DelegatorFactoryInterface;
8-
use Laminas\ServiceManager\Factory\InvokableFactory;
9-
use PhpDb\Adapter\AdapterInterface;
10-
use PhpDb\Adapter\Driver\DriverInterface;
11-
use PhpDb\Adapter\Driver\Pdo\Result;
12-
use PhpDb\Adapter\Driver\Pdo\Statement as PdoStatement;
13-
use PhpDb\Adapter\Driver\PdoDriverInterface;
14-
use PhpDb\Adapter\Mysql\Driver;
15-
use PhpDb\Adapter\Platform\PlatformInterface;
16-
use PhpDb\Adapter\Profiler;
8+
use PhpDB\Adapter\Mysql\ConfigProvider;
179
use PhpDb\Container\AdapterManager;
18-
use PhpDb\ResultSet;
1910
use Psr\Container\ContainerInterface;
2011

2112
final class AdapterManagerDelegator implements DelegatorFactoryInterface
@@ -28,39 +19,9 @@ public function __invoke(
2819
): AdapterManager {
2920
/** @var AdapterManager $adapterManager */
3021
$adapterManager = $callback();
31-
$adapterManager->configure([
32-
'aliases' => [
33-
'MySqli' => Driver\Mysqli\Mysqli::class,
34-
'MySQLi' => Driver\Mysqli\Mysqli::class,
35-
'Mysqli' => Driver\Mysqli\Mysqli::class,
36-
'mysqli' => Driver\Mysqli\Mysqli::class,
37-
'PDO_MySQL' => Driver\Pdo\Pdo::class,
38-
'Pdo_MySQL' => Driver\Pdo\Pdo::class,
39-
'Pdo_Mysql' => Driver\Pdo\Pdo::class,
40-
'pdo_mysql' => Driver\Pdo\Pdo::class,
41-
'pdomysql' => Driver\Pdo\Pdo::class,
42-
'pdodriver' => Driver\Pdo\Pdo::class,
43-
'pdo' => Driver\Pdo\Pdo::class,
44-
DriverInterface::class => Driver\Mysqli\Mysqli::class,
45-
PdoDriverInterface::class => Driver\Pdo\Pdo::class,
46-
Profiler\ProfilerInterface::class => Profiler\Profiler::class,
47-
ResultSet\ResultSetInterface::class => ResultSet\ResultSet::class,
48-
],
49-
'factories' => [
50-
AdapterInterface::class => AdapterFactory::class,
51-
Driver\Mysqli\Mysqli::class => MysqliDriverFactory::class,
52-
Driver\Mysqli\Connection::class => MysqliConnectionFactory::class,
53-
Driver\Mysqli\Result::class => MysqliResultFactory::class,
54-
Driver\Mysqli\Statement::class => MysqliStatementFactory::class,
55-
Driver\Pdo\Pdo::class => PdoDriverFactory::class,
56-
Driver\Pdo\Connection::class => PdoConnectionFactory::class,
57-
Result::class => PdoResultFactory::class,
58-
PdoStatement::class => PdoStatementFactory::class,
59-
PlatformInterface::class => PlatformInterfaceFactory::class,
60-
Profiler\Profiler::class => InvokableFactory::class,
61-
ResultSet\ResultSet::class => InvokableFactory::class,
62-
],
63-
]);
22+
$adapterManager->configure(
23+
(new ConfigProvider())->getAdapterManagerConfig()
24+
);
6425

6526
return $adapterManager;
6627
}

0 commit comments

Comments
 (0)