78 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| use function DI\autowire, DI\create, DI\get;
 | |
| 
 | |
| use League\Route\Strategy\ApplicationStrategy,
 | |
|     League\Route\Router;
 | |
| 
 | |
| use Psr\Container\ContainerInterface;
 | |
| 
 | |
| use Cronard\CronardMiddleware;
 | |
| 
 | |
| use Notes\Route\RouteFetcher;
 | |
| 
 | |
| use Notes\Breadcrumb\Breadcrumb;
 | |
| 
 | |
| use Storage\SessionMiddleware;
 | |
| 
 | |
| use Ulmus\User\Middleware\{
 | |
|     HeaderAuthenticationMiddleware,
 | |
|     PostRequestAuthenticationMiddleware
 | |
| };
 | |
| 
 | |
| return [
 | |
|     Lean\Routing::class => 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,
 | |
|     ],
 | |
| 
 | |
|     Lean\Routing\RouteDefinitionInterface::class => 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;
 | |
|         };
 | |
|     },
 | |
| ];
 |