Better DI for database.
[rock.divinelegy.git] / config / DI.php
1 <?php
2
3 return [
4 //values
5 'datamapper.maps' => '../config/DataMaps.php',
6 'router.maps' => '../config/Routes.php',
7 'db.credentials' => '../config/db.php',
8
9 //entites
10 'Domain\Entities\StepMania\ISimfile' => DI\object('Domain\Entities\StepMania\Simfile'),
11
12 //services
13 'Services\Http\IHttpResponse' => DI\object('Services\Http\HttpResponse'),
14 'Services\Http\IHttpRequest' => DI\object('Services\Http\HttpRequest'),
15 'Services\Routing\IRouter' => DI\object('Services\Routing\Router')
16 ->constructor(DI\link('router.maps')),
17
18 //DA
19 'DataAccess\StepMania\ISimfileRepository' => DI\object('DataAccess\StepMania\SimfileRepository'),
20 'DataAccess\IDatabaseFactory' => DI\object('DataAccess\DatabaseFactory')
21 ->constructor(DI\link('db.credentials')),
22 'DataAccess\DataMapper\IDataMapper' => DI\object('DataAccess\DataMapper\DataMapper')
23 ->constructor(DI\link('datamapper.maps')),
24 'DataAccess\Queries\IQueryBuilderFactory' => DI\object('DataAccess\Queries\QueryBuilderFactory')
25 ];