gmarche/public/index.php

63 lines
1.8 KiB
PHP

<?php
ini_set('display_errors',0);
use App\Account\AccountModule;
use App\Admin\AdminModule;
use App\Auth\AuthModule;
use App\Contact\ContactModule;
use App\Gmarche\GmarcheModule;
use App\Product\ProductModule;
use Framework\Auth\RoleMiddlewareFactory;
use Framework\Middleware\{
CsrfMiddleware,
DispatcherMiddleware,
MethodMiddleware,
RendererRequestMiddleware,
RouterMiddleware,
TrailingSlashMiddleware,
NotFoundMiddleware
};
use GuzzleHttp\Psr7\ServerRequest;
use Middlewares\Whoops;
chdir(dirname(__DIR__));
require 'vendor/autoload.php';
$chemin = $_SERVER['DOCUMENT_ROOT'];
$chemin_new = substr($chemin,0,-7);
$app = (new \Framework\App( $chemin_new .'/config/config.php'))
//$app = (new \Framework\App( '../config/config.php'))
->addModule(AdminModule::class)
->addModule(ContactModule::class)
->addModule(ProductModule::class)
->addModule(GmarcheModule::class)
->addModule(AuthModule::class)
->addModule(AccountModule::class);
$container = $app->getContainer();
// Pose problème
//$container->get(\Framework\Router::class)->get('/', \App\Gmarche\Actions\RegionIndexAction::class, 'home');
$app->pipe(Whoops::class);
$app->pipe(TrailingSlashMiddleware::class);
$app->pipe(\App\Auth\ForbiddenMiddleware::class);
// admin pose problème
//$app->pipe(
// $container->get('admin.prefix'),
// $container->get(RoleMiddlewareFactory::class)->makeForRole('admin')
// );
$app->pipe(MethodMiddleware::class)
->pipe(RendererRequestMiddleware::class)
// ->pipe(CsrfMiddleware::class)
->pipe(RouterMiddleware::class)
->pipe(DispatcherMiddleware::class)
->pipe(NotFoundMiddleware::class);
if (php_sapi_name() !== "cli") {
$response = $app->run(ServerRequest::fromGlobals());
\Http\Response\send($response);
}