File: /var/www/vhosts/creativefellows.nl/hotel.creativefellows.nl/src/dependencies.php
<?php
// DIC configuration
$container = $app->getContainer();
/*
* Database
*/
$container['db'] = function ($c){
$db = $c['settings']['db'];
$pdo = new PDO("mysql:host=" . $db['host'] . ";dbname=" . $db['dbname'].";charset=utf8", $db['user'], $db['pass']);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
return $pdo;
};
/*
* Renderer
*/
$container['renderer'] = function ($c){
$settings = $c->get('settings')['renderer'];
return new Slim\Views\PhpRenderer($settings['template_path']);
};
/*
* Cassette controller
*/
$container['CassetteController'] = function($c){
$db = $c->get('db');
$approuter = $c->get('router');
$view = $c->get('renderer');
$settings = $c->get('settings');
return new CassetteController($db, $approuter, $view, $settings);
};
/*
* Logger
*/
$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;
};
// 404 page
$container['notFoundHandler'] = function ($c){
return function ($request, $response) use ($c) {
return $c['renderer']->render($response, '404.php')->withStatus(404);
};
};
?>