Skip to content

Commit 8074b5b

Browse files
committed
Revert "PhpCS and Psalm corrections"
This reverts commit 59854cb. Signed-off-by: Joey Smith <jsmith@webinertia.net>
1 parent 59854cb commit 8074b5b

22 files changed

+190
-48
lines changed

src/ConfigProvider.php

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
use PhpDb\Container\AdapterManager;
1919
use PhpDb\Container\ConnectionInterfaceFactoryFactoryInterface;
2020
use PhpDb\Container\DriverInterfaceFactoryFactoryInterface;
21-
use PhpDb\Container\MetadataFactory;
2221
use PhpDb\Container\PlatformInterfaceFactoryFactoryInterface;
22+
use PhpDb\Container\MetadataFactory;
2323
use PhpDb\Metadata\MetadataInterface;
2424
use PhpDb\ResultSet;
2525

@@ -39,13 +39,13 @@ public function getDependencies(): array
3939
'abstract_factories' => [
4040
AdapterAbstractServiceFactory::class,
4141
],
42-
'aliases' => [
42+
'aliases' => [
4343
MetadataInterface::class => MysqlMetadata::class,
4444
],
45-
'factories' => [
45+
'factories' => [
4646
MysqlMetadata::class => MetadataFactory::class,
4747
],
48-
'delegators' => [
48+
'delegators' => [
4949
AdapterManager::class => [
5050
Container\AdapterManagerDelegator::class,
5151
],
@@ -56,7 +56,7 @@ public function getDependencies(): array
5656
public function getAdapterManagerConfig(): array
5757
{
5858
return [
59-
'aliases' => [
59+
'aliases' => [
6060
'MySqli' => Driver\Mysqli\Mysqli::class,
6161
'MySQLi' => Driver\Mysqli\Mysqli::class,
6262
'Mysqli' => Driver\Mysqli\Mysqli::class,
@@ -76,7 +76,7 @@ public function getAdapterManagerConfig(): array
7676
DriverInterfaceFactoryFactoryInterface::class => Container\DriverInterfaceFactoryFactory::class,
7777
PlatformInterfaceFactoryFactoryInterface::class => Container\PlatformInterfaceFactoryFactory::class,
7878
],
79-
'factories' => [
79+
'factories' => [
8080
AdapterInterface::class => Container\AdapterFactory::class,
8181
Driver\Mysqli\Mysqli::class => Container\MysqliDriverFactory::class,
8282
Driver\Mysqli\Connection::class => Container\MysqliConnectionFactory::class,
@@ -91,12 +91,9 @@ public function getAdapterManagerConfig(): array
9191
ResultSet\ResultSet::class => InvokableFactory::class,
9292
],
9393
'invokables' => [
94-
Container\ConnectionInterfaceFactoryFactory::class
95-
=> Container\ConnectionInterfaceFactoryFactory::class,
96-
Container\DriverInterfaceFactoryFactory::class
97-
=> Container\DriverInterfaceFactoryFactory::class,
98-
Container\PlatformInterfaceFactoryFactory::class
99-
=> Container\PlatformInterfaceFactoryFactory::class,
94+
Container\ConnectionInterfaceFactoryFactory::class => Container\ConnectionInterfaceFactoryFactory::class,
95+
Container\DriverInterfaceFactoryFactory::class => Container\DriverInterfaceFactoryFactory::class,
96+
Container\PlatformInterfaceFactoryFactory::class => Container\PlatformInterfaceFactoryFactory::class,
10097
],
10198
];
10299
}

src/Container/AdapterFactory.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ public function __invoke(ContainerInterface $container): AdapterInterface
5555
));
5656
}
5757

58+
/** @var PlatformInterface $platformInstance */
5859
$platformInstance = $adapterManager->get(PlatformInterface::class);
5960

6061
if (! $adapterManager->has(ResultSetInterface::class)) {
@@ -64,8 +65,10 @@ public function __invoke(ContainerInterface $container): AdapterInterface
6465
));
6566
}
6667

68+
/** @var ResultSetInterface $resultSetInstance */
6769
$resultSetInstance = $adapterManager->get(ResultSetInterface::class);
6870

71+
/** @var ProfilerInterface|null $profilerInstanceOrNull */
6972
$profilerInstanceOrNull = $adapterManager->has(ProfilerInterface::class)
7073
? $adapterManager->get(ProfilerInterface::class)
7174
: null;

src/Container/AdapterManagerDelegator.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
namespace PhpDb\Adapter\Mysql\Container;
66

77
use Laminas\ServiceManager\Factory\DelegatorFactoryInterface;
8-
use PhpDb\Adapter\Mysql\ConfigProvider;
8+
use PhpDB\Adapter\Mysql\ConfigProvider;
99
use PhpDb\Container\AdapterManager;
1010
use Psr\Container\ContainerInterface;
1111

src/Container/ConnectionInterfaceFactoryFactory.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public function __invoke(
2424
): callable {
2525
$adapterConfig = $container->get('config')['db']['adapters'] ?? [];
2626
if (! isset($adapterConfig[$requestedName]['driver'])) {
27-
throw new RuntimeException(sprintf(
27+
throw new \RuntimeException(sprintf(
2828
'Named adapter "%s" is not configured with a driver',
2929
$requestedName
3030
));

src/Container/DriverInterfaceFactoryFactory.php

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
use PhpDb\Container\AdapterManager;
88
use PhpDb\Container\DriverInterfaceFactoryFactoryInterface as FactoryFactoryInterface;
99
use Psr\Container\ContainerInterface;
10-
use RuntimeException;
1110

1211
use function sprintf;
1312

@@ -19,16 +18,16 @@ public function __invoke(
1918
): callable {
2019
$adapterConfig = $container->get('config')['db']['adapters'] ?? [];
2120
if (! isset($adapterConfig[$requestedName]['driver'])) {
22-
throw new RuntimeException(sprintf(
21+
throw new \RuntimeException(sprintf(
2322
'Named adapter "%s" is not configured with a driver',
2423
$requestedName
2524
));
2625
}
2726
$adapterServices = $container->get('config')[AdapterManager::class];
2827

2928
$configuredDriver = $adapterConfig[$requestedName]['driver'];
30-
$aliasTo ??= $adapterServices['aliases'][$configuredDriver] ?? $configuredDriver;
31-
$driverFactory = $adapterServices['factories'][$aliasTo];
29+
$aliasTo ??= $adapterServices['aliases'][$configuredDriver] ?? $configuredDriver;
30+
$driverFactory = $adapterServices['factories'][$aliasTo];
3231
return new $driverFactory();
3332
}
3433
}

src/Container/MysqliConnectionFactory.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,12 @@ public function __invoke(
2727

2828
return new Connection($connectionConfig);
2929
}
30+
31+
public static function createFromConfig(
32+
ContainerInterface $container,
33+
string $requestedName
34+
): ConnectionInterface&Connection {
35+
$adapterConfig = $container->get('config')['db']['adapters'][$requestedName] ?? [];
36+
return new Connection($adapterConfig['connection'] ?? []);
37+
}
3038
}

src/Container/MysqliDriverFactory.php

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace PhpDb\Adapter\Mysql\Container;
66

77
use PhpDb\Adapter\Driver;
8+
use PhpDb\Adapter\Mysql\Container\ConnectionInterfaceFactoryFactory as ConnectionFactoryFactory;
89
use PhpDb\Adapter\Mysql\Driver\Mysqli;
910
use PhpDb\Container\AdapterManager;
1011
use Psr\Container\ContainerInterface;
@@ -41,4 +42,27 @@ public function __invoke(ContainerInterface $container): Driver\DriverInterface&
4142
$options
4243
);
4344
}
45+
46+
public static function createFromConfig(
47+
ContainerInterface $container,
48+
string $requestedName,
49+
): Driver\DriverInterface&Mysqli\Mysqli {
50+
51+
/** @var AdapterManager $adapterManager */
52+
$adapterManager = $container->get(AdapterManager::class);
53+
$connectionFactory = ($adapterManager->get(ConnectionInterfaceFactoryFactory::class))($container, $requestedName);
54+
/** @var array $config */
55+
$config = $container->get('config');
56+
/** @var array $dbConfig */
57+
$dbConfig = $config['db'] ?? [];
58+
/** @var array $adapterConfig */
59+
$adapterConfig = $dbConfig['adapters'][$requestedName] ?? [];
60+
61+
return new Mysqli\Mysqli(
62+
$connectionFactory::createFromConfig($container, $requestedName),
63+
$adapterManager->get(Mysqli\Statement::class),
64+
$adapterManager->get(Mysqli\Result::class),
65+
$adapterConfig['options'] ?? []
66+
);
67+
}
4468
}

src/Container/PdoConnectionFactory.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,12 @@ public function __invoke(ContainerInterface $container): ConnectionInterface&Con
2323

2424
return new Connection($connectionConfig);
2525
}
26+
27+
public static function createFromConfig(
28+
ContainerInterface $container,
29+
string $requestedName
30+
): ConnectionInterface&Connection {
31+
$adapterConfig = $container->get('config')['db']['adapters'][$requestedName] ?? [];
32+
return new Connection($adapterConfig['connection'] ?? []);
33+
}
2634
}

src/Container/PdoDriverFactory.php

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,38 @@ public function __invoke(ContainerInterface $container): PdoDriverInterface&PdoD
3737
$resultInstance
3838
);
3939
}
40+
41+
public static function createFromConfig(
42+
ContainerInterface $container,
43+
string $requestedName,
44+
): PdoDriverInterface&PdoDriver {
45+
46+
/** @var AdapterManager $adapterManager */
47+
$adapterManager = $container->get(AdapterManager::class);
48+
$connectionFactory = ($adapterManager->get(ConnectionInterfaceFactoryFactory::class ))($container, $requestedName);
49+
/** @var array $config */
50+
$config = $container->get('config');
51+
/** @var array $dbConfig */
52+
$dbConfig = $config['db'] ?? [];
53+
/** @var array $adapterConfig */
54+
$adapterConfig = $dbConfig['adapters'][$requestedName] ?? [];
55+
/** @var array $options */
56+
$options = $adapterConfig['options'] ?? [];
57+
58+
/** @var ConnectionInterface&Connection $connectionInstance */
59+
$connectionInstance = $connectionFactory::createFromConfig($container, $requestedName);
60+
61+
/** @var StatementInterface&Statement $statementInstance */
62+
$statementInstance = $adapterManager->get(Statement::class);
63+
64+
/** @var ResultInterface&Result $resultInstance */
65+
$resultInstance = $adapterManager->get(Result::class);
66+
67+
return new PdoDriver(
68+
$connectionInstance,
69+
$statementInstance,
70+
$resultInstance,
71+
$options
72+
);
73+
}
4074
}

src/Container/PlatformInterfaceFactory.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,9 @@ public function __invoke(ContainerInterface $container): PlatformInterface&Mysql
3333

3434
return new Mysql($driverInstance);
3535
}
36+
37+
public static function fromDriver(DriverInterface $driverInstance): PlatformInterface&Mysql
38+
{
39+
return new Mysql($driverInstance);
40+
}
3641
}

0 commit comments

Comments
 (0)