index.php 1.3 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\Kernel;
  9. use \KarmaFW\Http\Request;
  10. use \KarmaFW\Http\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 Kernel([
  17. new KarmaMiddlewares\TrafficLogger,
  18. new KarmaMiddlewares\ErrorHandler,
  19. new KarmaMiddlewares\ResponseTime,
  20. //new KarmaMiddlewares\MinimifierHtml,
  21. //new KarmaMiddlewares\RedirectToDomain('www.mydomain.com', ['mydomain.com', 'mydomain.fr', 'www.mydomain.fr']),
  22. //new KarmaMiddlewares\ForceHttps(302, ['www.mydomain.com']),
  23. //new KarmaMiddlewares\GzipEncoding,
  24. //new KarmaMiddlewares\MaintenanceMode,
  25. new KarmaMiddlewares\SessionHandler,
  26. //new Authentification, // (not implemented)
  27. //new KarmaMiddlewares\CacheHtml(APP_DIR . '/var/cache/html', 3600),
  28. //new KarmaMiddlewares\CommandRouter($argv),
  29. //new KarmaMiddlewares\UrlGroupRouter,
  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();