public function group(array $attributes, $callback)
{
if (!isset($attributes['conditionalRequest'])) {
$attributes['conditionalRequest'] = $this->conditionalRequest;
}
$attributes = $this->mergeLastGroupAttributes($attributes);
if (!isset($attributes['version'])) {
throw new RuntimeException('A version is required for an API group definition.');
} else {
$attributes['version'] = (array) $attributes['version'];
}
if ((!isset($attributes['prefix']) || empty($attributes['prefix'])) && isset($this->prefix)) {
$attributes['prefix'] = $this->prefix;
}
if ((!isset($attributes['domain']) || empty($attributes['domain'])) && isset($this->domain)) {
$attributes['domain'] = $this->domain;
}
$this->groupStack[] = $attributes;
call_user_func($callback, $this);
array_pop($this->groupStack);
}
/** * Define the routes for the application. * * @param \Illuminate\Routing\Router $router * @return void */ public function map(Router $router, ApiRouter $apiRouter) { $apiRouter->version($this->version, function ($apiRouter) use($router) { $apiRouter->group(['namespace' => $this->namespace], function ($api) use($router) { $router->group(['namespace' => $this->namespace], function ($router) use($api) { require app_path('Http/routes.php'); }); }); }); }