generated from flo/template-backend
49 lines
1.2 KiB
PHP
49 lines
1.2 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use Mezzio\Application;
|
|
use Mezzio\MiddlewareFactory;
|
|
|
|
if (PHP_SAPI === 'cli-server' && $_SERVER['SCRIPT_FILENAME'] !== __FILE__) {
|
|
return false;
|
|
}
|
|
|
|
require './../vendor/autoload.php';
|
|
|
|
require './../config/autoload/defines.php';
|
|
|
|
function throwableToMessageArray(Throwable $e): array {
|
|
$messageArray = [];
|
|
while($e !== null) {
|
|
$messageArray[] = $e->getMessage();
|
|
$e = $e->getPrevious();
|
|
}
|
|
return $messageArray;
|
|
}
|
|
|
|
function throwableToMessageArrayString(Throwable $e): string {
|
|
return implode( PHP_EOL, throwableToMessageArray($e) );
|
|
}
|
|
|
|
/**
|
|
* Self-called anonymous function that creates its own scope and keeps the global namespace clean.
|
|
*/
|
|
(function () {
|
|
|
|
/** @var \Psr\Container\ContainerInterface $container */
|
|
$container = require './../config/container.php';
|
|
|
|
/** @var Application $app */
|
|
$app = $container->get(Application::class);
|
|
$factory = $container->get(MiddlewareFactory::class);
|
|
|
|
// Execute programmatic/declarative middleware pipeline and routing
|
|
// configuration statements
|
|
(require './../config/pipeline.php')($app, $factory, $container);
|
|
(require './../config/routes.php')($app, $factory, $container);
|
|
|
|
$app->run();
|
|
|
|
})();
|