-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbasic-usage.php
More file actions
35 lines (28 loc) · 1.11 KB
/
basic-usage.php
File metadata and controls
35 lines (28 loc) · 1.11 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\MysqlDatabaseDriver;
use Neuron\Database\FetchMode;
use Neuron\Extensibility\ExtensionStore;
use Neuron\Extensibility\InstantiatorInterface;
use Psr\EventDispatcher\EventDispatcherInterface;
use Psr\Log\LoggerInterface;
// Assume these instances are created or injected via your application's DI container
/** @var LoggerInterface $logger */
/** @var InstantiatorInterface $instantiator */
/** @var EventDispatcherInterface $eventDispatcher */
// Setup extensibility
$extensions = new ExtensionStore($instantiator, $logger, $eventDispatcher);
// Create a new database manager
$database = new DatabaseManager($logger, $extensions, $eventDispatcher);
// Connect to the database using MysqlDatabaseDriver
$database->connect('_default_', MysqlDatabaseDriver::class, [
'database' => 'my_database',
'host' => 'localhost',
'username' => 'user',
'password' => 'password',
]);
// Execute a basic query
$result = $database->fetchAll('SELECT * FROM users LIMIT 5');
foreach ($result as $user) {
echo "User ID: {$user['id']}, Name: {$user['name']}\n";
}