-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdi.php
More file actions
41 lines (38 loc) · 1.22 KB
/
Copy pathdi.php
File metadata and controls
41 lines (38 loc) · 1.22 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
36
37
38
39
40
41
<?php
use adapters\IniConfig;
use adapters\MySqlGateway;
use controllers\IndexController;
use controllers\StubController;
use controllers\UserController;
use core\config\DbConfig;
use core\DIContainer;
use core\config\Config;
use core\protocols\DbGateway;
use core\protocols\View;
use repos\UserRepo;
use views\RESTView;
/*
* Загрузка зависимостей в контейнер
*/
$di = new DIContainer();
$di[Config::class] = function (DIContainer $container) {
return new IniConfig("config.ini");
};
$di[DbConfig::class] = function (DIContainer $container) {
return $container->get(Config::class)->db;
};
$di[DbGateway::class] = MySqlGateway::class;
//$di[ViewsContainer::class] = function (DIContainer $container) {
// $views = new ViewsContainer();
// $views[UserController::class] = [
// ListUsersView::class => new ListUsersView(),
// AddUserView::class => new AddUserView(),
// GetUserView::class => new GetUserView(),
// ];
// return $views;
//};
$di[View::class] = RESTView::class;
$di[UserController::class] = UserController::class;
$di[IndexController::class] = IndexController::class;
$di[StubController::class] = StubController::class;
$di[UserRepo::class] = UserRepo::class;