<?php
use App\Kernel;
// Force UTF-8 encoding
mb_internal_encoding('UTF-8');
mb_http_output('UTF-8');
mb_regex_encoding('UTF-8');
// Désactiver l'affichage des erreurs de dépréciation qui pourraient casser l'affichage
error_reporting(E_ALL & ~E_DEPRECATED & ~E_USER_DEPRECATED);
ini_set('display_errors', '0');
// Empêcher la barre de debug HTML de corrompre les réponses JSON (AJAX)
$isAjax = (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] === 'XMLHttpRequest') ||
(isset($_SERVER['HTTP_ACCEPT']) && strpos($_SERVER['HTTP_ACCEPT'], 'application/json') !== false) ||
strpos($_SERVER['REQUEST_URI'] ?? '', '/api/') === 0;
if ($isAjax) {
$_SERVER['APP_DEBUG'] = 0;
$_ENV['APP_DEBUG'] = 0;
ini_set('display_errors', '0');
}
require_once dirname(__DIR__) . '/vendor/autoload_runtime.php';
return function (array $context) {
return new Kernel($context['APP_ENV'], (bool)$context['APP_DEBUG']);
};