mytube-backend/public/index.php
2024-08-04 14:23:33 +00:00

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();
})();