From 5aee9675038f0ec30ba4ed2c1eb9b544ac370c06 Mon Sep 17 00:00:00 2001 From: Taylor Otwell Date: Fri, 24 Mar 2017 19:40:14 -0500 Subject: [PATCH] cleaning up code --- .../Foundation/Console/RouteCacheCommand.php | 22 +++++++++++++------ src/Illuminate/Routing/RouteCollection.php | 7 +++--- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/Illuminate/Foundation/Console/RouteCacheCommand.php b/src/Illuminate/Foundation/Console/RouteCacheCommand.php index dcb90ac7ce3b..890842e12f40 100644 --- a/src/Illuminate/Foundation/Console/RouteCacheCommand.php +++ b/src/Illuminate/Foundation/Console/RouteCacheCommand.php @@ -58,9 +58,6 @@ public function fire() return $this->error("Your application doesn't have any routes."); } - $routes->refreshNameLookups(); - $routes->refreshActionLookups(); - foreach ($routes as $route) { $route->prepareForSerialization(); } @@ -79,11 +76,22 @@ public function fire() */ protected function getFreshApplicationRoutes() { - $app = require $this->laravel->bootstrapPath().'/app.php'; - - $app->make(ConsoleKernelContract::class)->bootstrap(); + return tap($this->getFreshApplication()['router']->getRoutes(), function ($routes) { + $routes->refreshNameLookups(); + $routes->refreshActionLookups(); + }); + } - return $app['router']->getRoutes(); + /** + * Get a fresh application instance. + * + * @return \Illuminate\Foundation\Application + */ + protected function getFreshApplication() + { + return tap(require $this->laravel->bootstrapPath().'/app.php', function ($app) { + $app->make(ConsoleKernelContract::class)->bootstrap(); + }); } /** diff --git a/src/Illuminate/Routing/RouteCollection.php b/src/Illuminate/Routing/RouteCollection.php index 9de51c2f0a39..59058deccfe4 100644 --- a/src/Illuminate/Routing/RouteCollection.php +++ b/src/Illuminate/Routing/RouteCollection.php @@ -131,7 +131,7 @@ public function refreshNameLookups() /** * Refresh the action look-up table. * - * This is done in case any actions are fluently defined or if routes are overwritten. + * This is done in case any actions are overwritten with new controllers. * * @return void */ @@ -140,9 +140,8 @@ public function refreshActionLookups() $this->actionList = []; foreach ($this->allRoutes as $route) { - $action = $route->getAction(); - if (isset($action['controller'])) { - $this->addToActionList($action, $route); + if (isset($route->getAction()['controller'])) { + $this->addToActionList($route->getAction(), $route); } } }