diff --git a/src/Illuminate/Routing/RouteAction.php b/src/Illuminate/Routing/RouteAction.php index 44a414a93be4..9d7eb76a85d8 100644 --- a/src/Illuminate/Routing/RouteAction.php +++ b/src/Illuminate/Routing/RouteAction.php @@ -29,7 +29,7 @@ public static function parse($uri, $action) // If the action is already a Closure instance, we will just set that instance // as the "uses" property, because there is nothing else we need to do when // it is available. Otherwise we will need to find it in the action list. - if (static::isCallable($action)) { + if (Reflector::isCallable($action, true)) { return ! is_array($action) ? ['uses' => $action] : [ 'uses' => $action[0].'@'.$action[1], 'controller' => $action[0].'@'.$action[1], @@ -74,25 +74,10 @@ protected static function missingAction($uri) protected static function findCallable(array $action) { return Arr::first($action, function ($value, $key) { - return static::isCallable($value) && is_numeric($key); + return Reflector::isCallable($value) && is_numeric($key); }); } - /** - * Determine if the given action is callable as a route. - * - * @param mixed $action - * @return bool - */ - public static function isCallable($action) - { - if (! is_array($action)) { - return is_callable($action); - } - - return isset($action[0], $action[1]) && is_string($action[0]) && is_string($action[1]) && Reflector::isMethodCallable($action[0], $action[1]); - } - /** * Make an action for an invokable controller. * diff --git a/src/Illuminate/Support/Reflector.php b/src/Illuminate/Support/Reflector.php index db6a2a75a8fc..e32cb7d00811 100644 --- a/src/Illuminate/Support/Reflector.php +++ b/src/Illuminate/Support/Reflector.php @@ -52,28 +52,4 @@ public static function isParameterSubclassOf($parameter, $className) ? (new ReflectionClass($paramClassName))->isSubclassOf($className) : false; } - - /** - * Determine if the class method is callable. - * - * @param string $class - * @param string $method - * @return bool - */ - public static function isMethodCallable($class, $method) - { - if (! class_exists($class)) { - return false; - } - - if (method_exists($class, $method)) { - return (new ReflectionMethod($class, $method))->isPublic(); - } - - if (method_exists($class, '__call')) { - return (new ReflectionMethod($class, '__call'))->isPublic(); - } - - return false; - } }