File: /var/www/vhosts/creativefellows.nl/okaycolor.creativefellows.nl/src/dependencies.php
<?php
use Slim\App;
return function (App $app) {
$container = $app->getContainer();
/*
* Database
*/
$container['db'] = function ($c){
$db = $c->get('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;
};
/*
* View renderer
*/
$container['renderer'] = function ($c) {
$settings = $c->get('settings')['renderer'];
return new \Slim\Views\PhpRenderer($settings['template_path']);
};
/*
* Printgarden controller
*/
$container['Printgarden'] = function($c){
return new Printgarden\Controller($c);
};
/*
* Printgarden controller
*/
$container['Uploader'] = function($c){
return new Printgarden\Upload\UploadController($c);
};
/*
* Printgarden controller
*/
$container['Admin'] = function($c){
return new Printgarden\Admin\Controller($c);
};
/*
* 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;
};
*/
/*
* Root subdirectories
*/
$container['environment'] = function () {
$scriptName = $_SERVER['SCRIPT_NAME'];
$_SERVER['SCRIPT_NAME'] = dirname(dirname($scriptName)) . '/' . basename($scriptName);
return new Slim\Http\Environment($_SERVER);
};
};