Files
project/setup/app.php

61 lines
1.1 KiB
PHP

<?php
use DI\ContainerBuilder as Builder;
use DI\Bridge\Slim\Bridge;
if (!isset($__environment)) {
throw new Exception('Missing __environment variable');
}
include_once 'composer.php';
$builder = new Builder();
$files = [
'config',
'setup'
];
$folders = [
'common',
$__environment
];
foreach ($files as $file) {
foreach ($folders as $folder) {
$filename = implode(DIRECTORY_SEPARATOR, [
__DIR__,
$folder,
$file . '.php'
]);
if (file_exists($filename)) {
$builder->addDefinitions($filename);
}
}
}
$container = $builder->build();
$app = Bridge::create($container);
try {
$app->setBasePath($container->get('base_url'));
} catch (Exception $e) {
}
foreach ($folders as $folder) {
$filename = implode(DIRECTORY_SEPARATOR, [
__DIR__,
$folder,
'middleware.php'
]);
if (file_exists($filename)) {
include_once $filename;
}
}
$filename = implode(DIRECTORY_SEPARATOR, [
$container->get('folders')->routes,
'router.php'
]);
if (!file_exists($filename)) {
throw new Exception('Missing router file.');
}
include_once $filename;