- Added a new post-install script for composer which adds a project skeleton "ready to use". - Error 500 are now handled properly in production; waiting to see if adjustements will be required before adding other code pages.
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
use Picea\Picea;
 | 
						|
 | 
						|
use CSLSJ\Debogueur\DebogueurMiddleware;
 | 
						|
 | 
						|
use Laminas\Diactoros\Response\HtmlResponse;
 | 
						|
 | 
						|
use Psr\Http\Server\MiddlewareInterface,
 | 
						|
    Psr\Http\Message\ServerRequestInterface,
 | 
						|
    Psr\Http\Server\RequestHandlerInterface,
 | 
						|
    Psr\Http\Message\ResponseInterface;
 | 
						|
 | 
						|
use function DI\{ create, get, autowire };
 | 
						|
 | 
						|
error_reporting(getenv('ERROR_REPORTING') ?: ( E_ALL & ~E_USER_DEPRECATED & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE ));
 | 
						|
 | 
						|
return [
 | 
						|
    /* do nothing in production !*/
 | 
						|
    "dump" => function($c) {
 | 
						|
        if (! function_exists('dump') ) {
 | 
						|
            function dump(...$what) {}
 | 
						|
        }
 | 
						|
 | 
						|
        return new class implements MiddlewareInterface {
 | 
						|
            public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface { return $handler->handle($request); }
 | 
						|
        };
 | 
						|
    },
 | 
						|
 | 
						|
    "errorHandler" => create(DebogueurMiddleware::class)->constructor(getenv('DEBOGUEUR_HASH') ?: "", null, get('app.errorhandler.html')),
 | 
						|
 | 
						|
    'app.errorhandler.html' => function($c, Picea $picea) {
 | 
						|
        return function(\Throwable $exception) use ($picea) {
 | 
						|
            return new HtmlResponse($picea->renderHtml('lean/error/500', [
 | 
						|
                'title' => "Une erreur s'est produite lors de l'exécution du script.",
 | 
						|
                'subtitle' => "Êtes-vous connecté avec le bon compte ?",
 | 
						|
                'message' => $exception->getMessage(),
 | 
						|
                'exception' => $exception,
 | 
						|
            ]));
 | 
						|
        };
 | 
						|
    },
 | 
						|
];
 |