Barryvdh\Debugbar\DataCollector\IlluminateRouteCollector::getRouteInformation PHP Method

getRouteInformation() protected method

Get the route information for a given route.
protected getRouteInformation ( Illuminate\Routing\Route $route ) : array
$route Illuminate\Routing\Route
return array
    protected function getRouteInformation($route)
    {
        if (!is_a($route, 'Illuminate\\Routing\\Route')) {
            return [];
        }
        $uri = head($route->methods()) . ' ' . $route->uri();
        $action = $route->getAction();
        $result = ['uri' => $uri ?: '-'];
        $result = array_merge($result, $action);
        if (isset($action['controller']) && strpos($action['controller'], '@') !== false) {
            list($controller, $method) = explode('@', $action['controller']);
            if (class_exists($controller) && method_exists($controller, $method)) {
                $reflector = new \ReflectionMethod($controller, $method);
            }
            unset($result['uses']);
        } elseif (isset($action['uses']) && $action['uses'] instanceof \Closure) {
            $reflector = new \ReflectionFunction($action['uses']);
            $result['uses'] = $this->formatVar($result['uses']);
        }
        if (isset($reflector)) {
            $filename = ltrim(str_replace(base_path(), '', $reflector->getFileName()), '/');
            $result['file'] = $filename . ':' . $reflector->getStartLine() . '-' . $reflector->getEndLine();
        }
        if ($middleware = $this->getMiddleware($route)) {
            $result['middleware'] = $middleware;
        }
        return $result;
    }