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/training.creativefellows.nl/config/container.php
<?php

use App\Factory\LoggerFactory;
use App\Domain\Language\LanguageData;
use App\Cache\CacheInterface;

use Psr\Http\Message\ResponseFactoryInterface;
use Psr\Container\ContainerInterface;
use Slim\App;
use Slim\Middleware\ErrorMiddleware;
use Slim\Views\PhpRenderer;
use Slim\Factory\AppFactory;



return [
	'settings' => function () {
		return require __DIR__ . '/settings.php';
	},
		
	App::class => function (ContainerInterface $container) {
		AppFactory::setContainer($container);
		return AppFactory::create();
	},
		
	PhpRenderer::class => function (ContainerInterface $container) {
		return new PhpRenderer($container->get('settings')['template_path']);
    },
		
	PDO::class => function (ContainerInterface $container) {
	    $settings = $container->get('settings')['db'];

	    $host = $settings['host'];
	    $dbname = $settings['database'];
	    $username = $settings['username'];
	    $password = $settings['password'];
	    $charset = $settings['charset'];
	    $flags = $settings['flags'];
	    $dsn = "mysql:host=$host;dbname=$dbname;charset=$charset";

	    return new PDO($dsn, $username, $password, $flags);
	},
		
	ErrorMiddleware::class => function (ContainerInterface $container) {
		$app = $container->get(App::class);
		$settings = $container->get('settings')['error'];

		return new ErrorMiddleware(
			$app->getCallableResolver(),
			$app->getResponseFactory(),
			(bool)$settings['display_error_details'],
			(bool)$settings['log_errors'],
			(bool)$settings['log_error_details']
		);
	},
	
	ResponseFactoryInterface::class => function (ContainerInterface $container) {
		return $container->get(App::class)->getResponseFactory();
	},
	
	LanguageData::class => function (ContainerInterface $container){
		$settings = $container->get('settings')['localization'];
		$root = $container->get('settings')['root'];
		return new LanguageData($settings,$root);
	},
	
	CacheInterface::class => function (ContainerInterface $container){
		$cache_folder = $container->get('settings')['cache'];
		return new CacheInterface($cache_folder);
	}
	
		
		
		
	
	/*UserData::class => function (ContainerInterface $container){
		
		$data = [
			"user_id" 	=> $_SESSION["user_id"],
			"role" 		=> $_SESSION["role"],
			"access" 	=> $_SESSION["user_access"],
			"full_name" => $_SESSION["full_name"],
			"session_id"=> $_SESSION["session_id"]
		];
		return new UserData( $data );
	},*/
	


];