|
1 | 1 | <?php
|
2 | 2 |
|
| 3 | +use function DI\autowire; |
3 | 4 | use DI\Bridge\Slim\CallableResolver;
|
4 | 5 | use DI\Bridge\Slim\ControllerInvoker;
|
5 | 6 | use DI\Container;
|
6 |
| -use Interop\Container\ContainerInterface; |
| 7 | +use function DI\create; |
| 8 | +use function DI\get; |
7 | 9 | use Invoker\Invoker;
|
8 | 10 | use Invoker\ParameterResolver\AssociativeArrayResolver;
|
9 | 11 | use Invoker\ParameterResolver\Container\TypeHintContainerResolver;
|
10 | 12 | use Invoker\ParameterResolver\DefaultValueResolver;
|
11 | 13 | use Invoker\ParameterResolver\ResolverChain;
|
| 14 | +use Psr\Container\ContainerInterface; |
12 | 15 | use Slim\Http\Headers;
|
13 | 16 | use Slim\Http\Request;
|
14 | 17 | use Slim\Http\Response;
|
|
25 | 28 | 'settings.routerCacheFile' => false,
|
26 | 29 |
|
27 | 30 | 'settings' => [
|
28 |
| - 'httpVersion' => DI\get('settings.httpVersion'), |
29 |
| - 'responseChunkSize' => DI\get('settings.responseChunkSize'), |
30 |
| - 'outputBuffering' => DI\get('settings.outputBuffering'), |
31 |
| - 'determineRouteBeforeAppMiddleware' => DI\get('settings.determineRouteBeforeAppMiddleware'), |
32 |
| - 'displayErrorDetails' => DI\get('settings.displayErrorDetails'), |
33 |
| - 'addContentLengthHeader' => DI\get('settings.addContentLengthHeader'), |
34 |
| - 'routerCacheFile' => DI\get('settings.routerCacheFile'), |
| 31 | + 'httpVersion' => get('settings.httpVersion'), |
| 32 | + 'responseChunkSize' => get('settings.responseChunkSize'), |
| 33 | + 'outputBuffering' => get('settings.outputBuffering'), |
| 34 | + 'determineRouteBeforeAppMiddleware' => get('settings.determineRouteBeforeAppMiddleware'), |
| 35 | + 'displayErrorDetails' => get('settings.displayErrorDetails'), |
| 36 | + 'addContentLengthHeader' => get('settings.addContentLengthHeader'), |
| 37 | + 'routerCacheFile' => get('settings.routerCacheFile'), |
35 | 38 | ],
|
36 | 39 |
|
37 | 40 | // Default Slim services
|
38 |
| - 'router' => DI\object(Slim\Router::class) |
39 |
| - ->method('setContainer', DI\get(Container::class)) |
40 |
| - ->method('setCacheFile', DI\get('settings.routerCacheFile')), |
41 |
| - Slim\Router::class => DI\get('router'), |
42 |
| - 'errorHandler' => DI\object(Slim\Handlers\Error::class) |
43 |
| - ->constructor(DI\get('settings.displayErrorDetails')), |
44 |
| - 'phpErrorHandler' => DI\object(Slim\Handlers\PhpError::class) |
45 |
| - ->constructor(DI\get('settings.displayErrorDetails')), |
46 |
| - 'notFoundHandler' => DI\object(Slim\Handlers\NotFound::class), |
47 |
| - 'notAllowedHandler' => DI\object(Slim\Handlers\NotAllowed::class), |
| 41 | + 'router' => create(Slim\Router::class) |
| 42 | + ->method('setContainer', get(Container::class)) |
| 43 | + ->method('setCacheFile', get('settings.routerCacheFile')), |
| 44 | + Slim\Router::class => get('router'), |
| 45 | + 'errorHandler' => create(Slim\Handlers\Error::class) |
| 46 | + ->constructor(get('settings.displayErrorDetails')), |
| 47 | + 'phpErrorHandler' => create(Slim\Handlers\PhpError::class) |
| 48 | + ->constructor(get('settings.displayErrorDetails')), |
| 49 | + 'notFoundHandler' => create(Slim\Handlers\NotFound::class), |
| 50 | + 'notAllowedHandler' => create(Slim\Handlers\NotAllowed::class), |
48 | 51 | 'environment' => function () {
|
49 | 52 | return new Slim\Http\Environment($_SERVER);
|
50 | 53 | },
|
|
56 | 59 | $response = new Response(200, $headers);
|
57 | 60 | return $response->withProtocolVersion($c->get('settings')['httpVersion']);
|
58 | 61 | },
|
59 |
| - 'foundHandler' => DI\object(ControllerInvoker::class) |
60 |
| - ->constructor(DI\get('foundHandler.invoker')), |
| 62 | + 'foundHandler' => create(ControllerInvoker::class) |
| 63 | + ->constructor(get('foundHandler.invoker')), |
61 | 64 | 'foundHandler.invoker' => function (ContainerInterface $c) {
|
62 | 65 | $resolvers = [
|
63 | 66 | // Inject parameters by name first
|
|
70 | 73 | return new Invoker(new ResolverChain($resolvers), $c);
|
71 | 74 | },
|
72 | 75 |
|
73 |
| - 'callableResolver' => DI\object(CallableResolver::class), |
74 |
| - |
75 |
| - // Aliases |
76 |
| - ContainerInterface::class => DI\get(Container::class), |
| 76 | + 'callableResolver' => autowire(CallableResolver::class), |
77 | 77 |
|
78 | 78 | ];
|
0 commit comments