41 lines
1.0 KiB
PHP
41 lines
1.0 KiB
PHP
<?php
|
|
use DI\ContainerBuilder;
|
|
use ProVM\Wrapper\App;
|
|
|
|
require_once 'composer.php';
|
|
|
|
function buildApp(): App {
|
|
$builder = new ContainerBuilder();
|
|
$folders = [
|
|
'settings',
|
|
'setups'
|
|
];
|
|
foreach ($folders as $f) {
|
|
$folder = implode(DIRECTORY_SEPARATOR, [__DIR__, $f]);
|
|
if (!file_exists($folder)) {
|
|
continue;
|
|
}
|
|
$files = new FilesystemIterator($folder);
|
|
foreach ($files as $file) {
|
|
if ($file->isDir()) {
|
|
continue;
|
|
}
|
|
$builder->addDefinitions($file->getRealPath());
|
|
}
|
|
}
|
|
$app = new App();
|
|
$app->setContainer($builder->build());
|
|
$folder = implode(DIRECTORY_SEPARATOR, [__DIR__, 'middlewares']);
|
|
if (file_exists($folder)) {
|
|
$files = new FilesystemIterator($folder);
|
|
foreach($files as $file) {
|
|
if ($file->isDir()) {
|
|
continue;
|
|
}
|
|
require_once $file->getRealPath();
|
|
}
|
|
}
|
|
return $app;
|
|
}
|
|
return buildApp();
|