/** * Register routing. * * @param Router $router Router object. * @param string $option The component option name. * * @throws \LogicException * @return Router Registered router. */ public static function registerRouting(Router $router, $option) { // Don't register twice. if (self::$registered) { return $router; } // Register routers. $maps = static::getRouting($option); foreach ((array) $maps as $name => $map) { if (empty($map->pattern) || empty($map->view)) { // throw new \LogicException('Are you kidding me? no map, no run! Add pattern and view to: ' . $name); } $buildHandler = !empty($map->buildHandler) ? $map->buildHandler : ''; $parseHandler = !empty($map->parseHandler) ? $map->parseHandler : ''; $router->register($name, $map->pattern, $map->view, $buildHandler, $parseHandler); } return $router; }