Arcanedev\Localization\Utilities\Url::extractAttributes PHP Метод

extractAttributes() публичный статический Метод

Extract attributes for current url.
public static extractAttributes ( boolean | false | string $url = false ) : array
$url boolean | false | string
Результат array
    public static function extractAttributes($url = false)
    {
        $parse = parse_url($url);
        $path = isset($parse['path']) ? explode('/', $parse['path']) : [];
        $url = [];
        foreach ($path as $segment) {
            if (!empty($segment)) {
                $url[] = $segment;
            }
        }
        /** @var \Illuminate\Routing\Router $router */
        $router = app('router');
        return self::extractAttributesFromRoutes($url, $router->getRoutes());
    }

Usage Example

Пример #1
0
 /**
  * Returns the translation key for a given path.
  *
  * @param  string  $uri
  * @param  string  $locale
  *
  * @return false|string
  */
 public function getRouteNameFromPath($uri, $locale)
 {
     $attributes = Url::extractAttributes($uri);
     $uri = str_replace([url()->current(), "/{$locale}/"], '', $uri);
     $uri = trim($uri, '/');
     foreach ($this->translatedRoutes as $routeName) {
         $url = Url::substituteAttributes($attributes, $this->translate($routeName));
         if ($url === $uri) {
             return $routeName;
         }
     }
     return false;
 }
All Usage Examples Of Arcanedev\Localization\Utilities\Url::extractAttributes