HEX
Server: Apache
System: Linux v38079.2is.nl 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: democfellows (10015)
PHP: 8.1.34
Disabled: opcache_get_status
Upload Files
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);
		};
	};


?>