app.php 972 B

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. use demo\AppRoute;
  3. use demo\Logger;
  4. use Demo\UserConverter;
  5. use Silex\Application;
  6. use Silex\Provider\AssetServiceProvider;
  7. use Silex\Provider\TwigServiceProvider;
  8. use Silex\Provider\ServiceControllerServiceProvider;
  9. use Silex\Provider\HttpFragmentServiceProvider;
  10. use Symfony\Component\HttpFoundation\Request;
  11. $app = new Application();
  12. $app['logger'] = function () { return new Logger(); };
  13. $app->register(new ServiceControllerServiceProvider());
  14. $app->register(new AssetServiceProvider());
  15. $app->register(new TwigServiceProvider());
  16. $app->register(new HttpFragmentServiceProvider());
  17. $app['twig'] = $app->extend('twig', function ($twig, $app) {
  18. // add custom globals, filters, tags, ...
  19. return $twig;
  20. });
  21. $app['converter.user'] = function () {
  22. return new UserConverter();
  23. };
  24. $app['route_class'] = AppRoute::class;
  25. // Support PATCH/PUT/DELETE.. emulation on POST for browsers. Beware XSS.
  26. Request::enableHttpMethodParameterOverride();
  27. return $app;