-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.php
120 lines (105 loc) · 4.34 KB
/
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<?php
$localConfig = [];
if (file_exists(__DIR__."/config.local.php")) {
$localConfig = include __DIR__."/config.local.php";
}
return $localConfig + [
'app.url' => 'http://symfony.fextbuy.local',
'db.host' => '127.0.0.1',
'db.database' => 'ai-tester',
'log.apiClient.path' => __DIR__.'/logs/apiClient.log',
'log.apiClient.level' => \Monolog\Logger::DEBUG,
'log.strategy.path' => __DIR__.'/logs/strategy.log',
'log.strategy.level' => \Monolog\Logger::DEBUG,
'log.worker.path' => __DIR__.'/logs/worker.log',
'log.worker.level' => \Monolog\Logger::DEBUG,
'doctrine.proxyDir' => __DIR__.'/cache/proxies',
'doctrine.proxyNamespace' => 'Proxies',
'doctrine.hydratorDir' => __DIR__.'/cache/hydrators',
'doctrine.hydratorNamespace' => 'Hydrators',
'doctrine.documentClassesPath' => __DIR__.'/src/AI/Tester/Model',
'twig.templatesPath' => [
__DIR__ . '/src/AI/Manager/Resources/views',
],
'doctrine.documentManager' => DI\factory(function (DI\Container $c) {
return \Doctrine\ODM\MongoDB\DocumentManager::create(
$c->get('doctrine.connection'),
$c->get('doctrine.configuration')
);
}),
'doctrine.annotationDriver' => DI\factory(function(DI\Container $c) {
\Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver::registerAnnotationClasses();
return \Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver::create($c->get('doctrine.documentClassesPath'));
}),
'doctrine.connection' => DI\object(Doctrine\MongoDB\Connection::class)
->constructor(DI\link('db.host')),
'doctrine.configuration' => DI\object(Doctrine\ODM\MongoDB\Configuration::class)
->method('setProxyDir', DI\link('doctrine.proxyDir'))
->method('setProxyNamespace', DI\link('doctrine.proxyNamespace'))
->method('setHydratorDir', DI\link('doctrine.hydratorDir'))
->method('setHydratorNamespace', DI\link('doctrine.hydratorNamespace'))
->method('setMetadataDriverImpl', DI\link('doctrine.annotationDriver'))
->method('setDefaultDB', DI\link('db.database')),
'http.client' => DI\factory(function (\DI\Container $c) {
return new \GuzzleHttp\Client([
'base_url' => $c->get('app.url'),
'defaults' => [
'exceptions' => false,
'headers' => [
'Accept' => 'application/json'
]
],
]);
}),
'logger.apiClient' => DI\factory(function (\DI\Container $c) {
return new \Monolog\Logger(
"apiClient",
[
new \Monolog\Handler\StreamHandler(
$c->get('log.apiClient.path'),
$c->get('log.apiClient.level')
)
]
);
}),
'logger.strategy' => DI\factory(function (\DI\Container $c) {
return new \Monolog\Logger(
"strategy",
[
new \Monolog\Handler\StreamHandler(
$c->get('log.strategy.path'),
$c->get('log.strategy.level')
)
]
);
}),
'logger.worker' => DI\factory(function (\DI\Container $c) {
return new \Monolog\Logger(
"worker",
[
new \Monolog\Handler\StreamHandler(
$c->get('log.worker.path'),
$c->get('log.worker.level')
)
]
);
}),
'faker' => DI\factory(function() {
return Faker\Factory::create();
}),
'strategy.manager' => DI\object(AI\Tester\Strategy\StrategyManager::class)
->method('setStrategies', DI\link('strategy.list')),
'strategy.list' => DI\factory(function (\DI\Container $c) {
return [
$c->get(\AI\Tester\Strategy\CreateBuyStrategy::class),
$c->get(\AI\Tester\Strategy\RateUpBuyStrategy::class),
$c->get(\AI\Tester\Strategy\RateDownBuyStrategy::class),
$c->get(\AI\Tester\Strategy\PurchaseBuyStrategy::class),
$c->get(\AI\Tester\Strategy\RegisterUserStrategy::class),
];
}),
Twig_Loader_Filesystem::class => DI\object(Twig_Loader_Filesystem::class)
->constructor(DI\link('twig.templatesPath')),
Twig_Environment::class => DI\object(Twig_Environment::class)
->constructor(DI\link(Twig_Loader_Filesystem::class)),
];