You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.6 KiB
58 lines
1.6 KiB
<?php
|
|
// DIC configuration
|
|
|
|
$container = $app->getContainer();
|
|
|
|
// view renderer
|
|
$container['renderer'] = function ($c) {
|
|
$settings = $c->get('settings')['renderer'];
|
|
return new Slim\Views\PhpRenderer($settings['template_path']);
|
|
};
|
|
|
|
// monolog
|
|
$container['logger'] = function ($c) {
|
|
$settings = $c->get('settings')['logger'];
|
|
$logger = new Monolog\Logger($settings['name']);
|
|
$logger->pushProcessor(new Monolog\Processor\UidProcessor());
|
|
$logger->pushHandler(new Monolog\Handler\StreamHandler($settings['path'], $settings['level']));
|
|
return $logger;
|
|
};
|
|
$container['db'] = function ($c) {
|
|
$db = $c['settings']['db'];
|
|
$pdo = new PDO('mysql:host=' . $db['host'] . ';dbname=' . $db['dbname'],
|
|
$db['user'], $db['pass']);
|
|
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
|
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
|
|
return $pdo;
|
|
};
|
|
$container['mongo'] = function ($c) {
|
|
$db = $c['settings']['mongo'];
|
|
$host=$db['host'];
|
|
$user=$db['user'];
|
|
$pass=$db['pass'];
|
|
$pwd=rawurlencode($db['pass']);
|
|
$dbname=$db['dbname'];
|
|
//$mongo = new MongoDB\Client("mongodb://$user:$pwd@$host");
|
|
$mongo = new MongoDB\Client("mongodb://$user:$pass@$host");
|
|
|
|
return $mongo;
|
|
};
|
|
$container['httpClient'] = function($c) {
|
|
$master='http://127.0.0.1:8080';
|
|
$config = [
|
|
'timeout' => 60,
|
|
'base_uri' => $master
|
|
];
|
|
|
|
$guzzle = new \GuzzleHttp\Client($config);
|
|
|
|
return $guzzle;
|
|
};
|
|
$container['y2j'] = function($c) {
|
|
$y2j = new \Symfony\Component\Yaml\Parser();
|
|
return $y2j;
|
|
};
|
|
$container['validationService'] = function () {
|
|
return new \Anddye\Validation\Validator();
|
|
};
|
|
|
|
|