<?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) ];