public_html/app.php line 11

Open in your IDE?
  1. <?php
  2. ini_set('display_errors'1);
  3. ini_set('display_startup_errors'1);
  4. error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT);
  5.     
  6. use App\Kernel;
  7. use Symfony\Component\Yaml\Yaml;
  8. use Symfony\Component\HttpFoundation\Request;
  9. require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
  10. return function (array $context) {
  11.     function _dd ($var) {
  12.         file_put_contents('dump.txt',  str_replace('\/''/'json_encode($varJSON_PRETTY_PRINT JSON_UNESCAPED_UNICODE)) . "\n\n"FILE_APPEND);
  13.     }
  14.     if ($context['APP_ENV'] !== 'prod' && !in_array($_SERVER['REMOTE_ADDR'], ['::1''127.0.0.1''195.150.52.166'])) {
  15.         if (!($context['APP_TESTING'] ?? 0)) {
  16.             header('HTTP/1.0 403'); 
  17.             exit;
  18.         }
  19.     }
  20.     if ($trustedProxies $_SERVER['TRUSTED_PROXIES'] ?? false) {
  21.         Request::setTrustedProxies(explode(','$trustedProxies), Request::HEADER_X_FORWARDED_ALL Request::HEADER_X_FORWARDED_HOST);
  22.     }
  23.     
  24.     if ($trustedHosts $_SERVER['TRUSTED_HOSTS'] ?? false) {
  25.         Request::setTrustedHosts(explode(','$trustedHosts));
  26.     }
  27.     $kernel = new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
  28.     $configAppLocation '/config/packages/config_app.yaml';
  29.     if (!file_exists($kernel->getProjectDir() . $configAppLocation)) {
  30.         throw new \Exception(
  31.             ' >> Missing application config file: ' $kernel->getProjectDir() . $configAppLocation
  32.         );
  33.     }
  34.     $parsedConfigApp Yaml::parseFile($kernel->getProjectDir() . $configAppLocation);
  35.     if (
  36.         !isset($parsedConfigApp['parameters']['app.web.dir']) ||
  37.         !isset($parsedConfigApp['parameters']['app.web.media_dir'])
  38.     ) {
  39.         throw new \Exception(
  40.             ' >> Missing key "app.web.dir" and/or "app.web.media_dir" under "parameters" in '
  41.                 $kernel->getProjectDir() . $configAppLocation
  42.         );
  43.     }
  44.     define('__APP_DIR__',   $kernel->getProjectDir());
  45.     define('__WEB_DIR__',   $kernel->getProjectDir() . '/' $parsedConfigApp['parameters']['app.web.dir']);
  46.     define('__MEDIA_DIR__'__WEB_DIR__ '/' $parsedConfigApp['parameters']['app.web.media_dir']);
  47.     if ($context['APP_ENV'] !== 'prod') {
  48.         // for web-profiler symfony
  49.         if ($_ENV['TRUSTED_ORIGINS'] ?? false) {
  50.             header("Access-Control-Allow-Origin: " $_ENV['TRUSTED_ORIGINS']);
  51.         }
  52.         if ($_ENV['TRUSTED_HEADRES'] ?? false && $_SERVER['REQUEST_METHOD'] == "OPTIONS") {
  53.             header("Access-Control-Allow-Headers: " $_ENV['TRUSTED_HEADRES']);
  54.         }
  55.     }
  56.     return $kernel;
  57. };