Example #1
0
 /**
  * Register the route collector and dispatcher.
  *
  * @param Application $app The application container
  */
 public function __construct(Application $app)
 {
     $app['router.collector'] = $app->share(function ($app) {
         return new RouteCollector(new RouteParser(), new DataGenerator());
     });
     $app['router.dispatcher'] = $app->share(function ($app) {
         foreach ($app['app.routes']->dump() as $route => $methods) {
             foreach ($methods as $method => $handlers) {
                 $app['router.collector']->addRoute($method, $route, $handlers);
             }
         }
         return new Dispatcher($app['router.collector']->getData());
     });
     parent::__construct($app);
 }