index.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. // CONFIG
  3. define('APP_DIR', realpath(__DIR__ . '/..'));
  4. define('VENDOR_DIR', APP_DIR . '/vendor');
  5. // AUTOLOAD
  6. $loader = require VENDOR_DIR . '/autoload.php';
  7. $loader->setPsr4('App\\', APP_DIR . '/src');
  8. use \KarmaFW\App;
  9. use \KarmaFW\App\Request;
  10. use \KarmaFW\App\Response;
  11. use \KarmaFW\App\Middlewares as KarmaMiddlewares;
  12. ini_set('display_errors', 1);
  13. // Build request
  14. $request = Request::createFromGlobals();
  15. // Init App and Define workflow
  16. $app = new App([
  17. new KarmaMiddlewares\TrafficLogger,
  18. new KarmaMiddlewares\ErrorHandler,
  19. new KarmaMiddlewares\ResponseTime,
  20. new KarmaMiddlewares\ForceHttps,
  21. //new KarmaMiddlewares\GzipEncoding,
  22. //new KarmaMiddlewares\MaintenanceMode,
  23. new KarmaMiddlewares\LoadHelpers,
  24. new KarmaMiddlewares\SessionHandler,
  25. //'handle404',
  26. //'Authentification',
  27. //'CacheHtml',
  28. //new KarmaMiddlewares\UrlPrefixRouter,
  29. //new KarmaMiddlewares\CommandRouter($argv),
  30. new KarmaMiddlewares\UrlRouter,
  31. ]);
  32. // Process App workflow/pipe and return a $response
  33. $response = $app->handle($request);
  34. // Send $response->content to the client (browser or stdout)
  35. $response->send();