-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathalias-driver-usage.php
More file actions
35 lines (28 loc) · 1.15 KB
/
alias-driver-usage.php
File metadata and controls
35 lines (28 loc) · 1.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
use Neuron\Database\DatabaseManager;
use Neuron\Database\Drivers\AliasDatabaseDriver;
use Neuron\Database\Drivers\MysqlDatabaseDriver;
use Neuron\Extensibility\ExtensionStore;
use Neuron\Extensibility\InstantiatorInterface;
use Psr\EventDispatcher\EventDispatcherInterface;
use Psr\Log\LoggerInterface;
/** @var LoggerInterface $logger */
/** @var InstantiatorInterface $instantiator */
/** @var EventDispatcherInterface $eventDispatcher */
$extensions = new ExtensionStore($instantiator, $logger, $eventDispatcher);
$database = new DatabaseManager($logger, $extensions, $eventDispatcher);
// Register primary database connection
$database->connect('primary', MysqlDatabaseDriver::class, [
'database' => 'primary_db',
'host' => 'localhost',
'username' => 'user',
'password' => 'password',
]);
// Register an alias connection pointing to primary
$database->connect('secondary', AliasDatabaseDriver::class, [
'database' => $database,
'target' => 'primary'
]);
// Using the alias connection transparently
$result = $database->fetchOne('SELECT COUNT(*) AS total FROM users', [], 'secondary');
echo "Total users: " . $result['total'] . "\n";