/** * Registers routes for the entire CMS. * * @return $this */ protected function registerRoutes() { // If the application has all routes cached, skip registering them if ($this->app->routesAreCached()) { return $this; } $this->router->group(['prefix' => $this->getCmsPrefix(), 'as' => $this->getCmsNamePrefix(), 'middleware' => [$this->getCmsMiddlewareGroup()]], function (Router $router) { $this->buildRoutesForAuth($router); // Embed the routes that require authorization in a group // with the middleware to keep guests out. $this->router->group(['middleware' => [CmsMiddleware::API_AUTHENTICATED, CmsMiddleware::API_AUTH_OWNER]], function (Router $router) { $this->buildRoutesForMetaData($router); $this->buildRoutesForModules($router); }); }); return $this; }
/** * Execute the job. * * @param \Illuminate\Contracts\Foundation\Application $app * @param \Illuminate\Contracts\Console\Kernel $kernel * * @return void */ public function handle(Application $app, Kernel $kernel) { if (!$app->routesAreCached()) { return; } $app->terminating(function () use($kernel) { $kernel->call('route:cache'); }); }
/** * Bootstrap the given application. * * @param \Illuminate\Contracts\Foundation\Application|\Notadd\Foundation\Application $application * * @return void */ public function bootstrap(Application $application) { if ($application->isInstalled()) { if ($application->routesAreCached()) { $application->booted(function () use($application) { require $application->getCachedRoutesPath(); }); } else { $application->make('events')->fire(new RouteRegister($application, $application['router'])); $application->booted(function () use($application) { $application['router']->getRoutes()->refreshNameLookups(); }); } } }
/** * Load the given routes file if routes are not already cached. * * @param string $path * @return void */ protected function loadRoutesFrom($path) { if (!$this->app->routesAreCached()) { require $path; } }