Esempio n. 1
0
File: Route.php Progetto: larakit/lk
        if (!$uri) {
            return 'home';
        }
        $matched = false;
        $_m = [];
        $max = null;
        foreach ($routes as $route_uri => $name) {
            /** @var \Illuminate\Routing\Route $route */
            $route_uri = preg_replace('/\\/\\{(.*)\\?\\}/U', '*', $route_uri);
            $route_uri = preg_replace('/\\*\\*/U', '*', $route_uri);
            $route_uri = preg_replace('/\\{(.*)\\}/U', '*', $route_uri);
            //dump($route_uri . ' | ' . $matched . ' | ' . $max);
            if (\Illuminate\Support\Str::is($route_uri, $uri)) {
                $_m[] = [$name, $route_uri];
                $m = mb_substr_count($route_uri, '{');
                if (is_null($max) || !$m || $m < $max) {
                    $max = $m;
                    $matched = $name;
                }
            }
        }
        //dump($_m);
        return $matched;
    }
}
\Route::pattern('any', Route::PATTERN_ANY);
\Route::pattern('user', Route::PATTERN_NUMERIC_TEXT);
\Route::pattern('action', Route::PATTERN_NUMERIC_TEXT_DASH);
\Route::pattern('date', Route::PATTERN_DATE);
\Route::pattern('id', Route::PATTERN_NUMERIC);