-
Notifications
You must be signed in to change notification settings - Fork 4
/
di_config.php
38 lines (31 loc) · 1.35 KB
/
di_config.php
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
36
37
38
<?php
use Psr\Container\ContainerInterface;
use SBRL\TomlConfig;
// use AirQuality\Database;
use AirQuality\Repositories\IDeviceRepository;
use AirQuality\Repositories\MariaDBDeviceRepository;
use AirQuality\Repositories\IMeasurementDataRepository;
use AirQuality\Repositories\MariaDBMeasurementDataRepository;
use AirQuality\Repositories\IMeasurementTypeRepository;
use AirQuality\Repositories\MariaDBMeasurementTypeRepository;
use AirQuality\Repositories\ISensorRepository;
use AirQuality\Repositories\MariaDBSensorRepository;
use SBRL\PerformanceCounter;
return [
"settings.file_default" => "data/settings.toml",
"settings.file_custom" => "settings.default.toml",
// These are created during initalisation, but we want them available via dependency injection too
TomlConfig::class => function(ContainerInterface $c) {
global $settings;
return $settings;
},
PerformanceCounter::class => function(ContainerInterface $c) {
global $perfcounter;
return $perfcounter;
},
// Interfaces that need mapping to their implementations
IDeviceRepository::class => DI\autowire(MariaDBDeviceRepository::class),
IMeasurementDataRepository::class => DI\autowire(MariaDBMeasurementDataRepository::class),
IMeasurementTypeRepository::class => DI\autowire(MariaDBMeasurementTypeRepository::class),
ISensorRepository::class => DI\autowire(MariaDBSensorRepository::class)
];