1234567891011121314151617181920212223242526272829303132333435363738394041 |
- <?php
- use demo\AppRoute;
- use demo\Logger;
- use demo\Services\Timer;
- use Demo\UserConverter;
- use Silex\Application;
- use Silex\Provider\AssetServiceProvider;
- use Silex\Provider\TwigServiceProvider;
- use Silex\Provider\ServiceControllerServiceProvider;
- use Silex\Provider\HttpFragmentServiceProvider;
- use Symfony\Component\HttpFoundation\Request;
- $app = new Application();
- // Non-closure classes are used as parameters, not Pimple services, but may
- // nonetheless be used as such.
- $app['timer'] = Timer::create();
- // Closures are the basic form of Pimple services.
- $app['logger'] = function () { return new Logger(); };
- $app->register(new ServiceControllerServiceProvider());
- $app->register(new AssetServiceProvider());
- $app->register(new TwigServiceProvider());
- $app->register(new HttpFragmentServiceProvider());
- $app['twig'] = $app->extend('twig', function ($twig, $app) {
- // add custom globals, filters, tags, ...
- return $twig;
- });
- $app['converter.user'] = function () {
- return new UserConverter();
- };
- $app['route_class'] = AppRoute::class;
- // Support PATCH/PUT/DELETE.. emulation on POST for browsers. Beware XSS.
- Request::enableHttpMethodParameterOverride();
- return $app;
|