autowire(Lean\Routing::class), RouteFetcher::class => function($c) { $fetcher = new RouteFetcher(null, [], null, $c->get('routes.caching')); $fetcher->setFolderList(array_map(function($item) { return $item; }, $c->get(Lean\Lean::class)->getRoutable())); return $fetcher; }, Breadcrumb::class => function($c) { $breadcrumb = new Breadcrumb(null, [], null, $c->get('breadcrumbs.caching')); $breadcrumb->setFolderList(array_map(function($item) { return $item; }, $c->get(Lean\Lean::class)->getRoutable())); return $breadcrumb; }, ApplicationStrategy::class => autowire(\Lean\ApplicationStrategy::class), 'routes.middlewares' => [ "dump", "errorHandler", SessionMiddleware::class, CronardMiddleware::class, Mcnd\Event\EventMiddleware::class, Mcnd\CLI\CliMiddleware::class, ], 'app.middlewares' => [ HeaderAuthenticationMiddleware::class, PostRequestAuthenticationMiddleware::class, ], 'routes.list' => function($c) { return function (ContainerInterface $container) { $router = $container->get(Router::class); foreach([ 'routes.middlewares', 'app.middlewares' ] as $key) { if ( $container->has($key) ) { foreach ($container->get($key) as $i => $middleware) { if ($container->has($middleware)) { $router->middleware($container->get($middleware)); } } } } $routing = $container->get(Lean\Routing::class); $routing->registerRoute($container, getenv('URL_BASE')); return $router; }; }, ];