Získání aktuální adresy URL v systému Laravel
Přístup k aktuální adrese URL je v aplikacích Laravel běžným požadavkem, ať už jde o přesměrování, protokolování, analýzu nebo podmíněnou logiku. Laravel poskytuje jednoduché a expresivní metody pro získání aktuální adresy URL, její plné verze s řetězci dotazů, základního kořene a dokonce i adresy URL předchozí stránky.
Získat aktuální adresu URL bez parametrů dotazu
Laravel URL fasády a url() helper umožňuje rychlý přístup k metodám URL.
use Illuminate\Support\Facades\URL; // Get the current URL (without query parameters)$currentUrl = URL::current();
Příklad:
Pokud je váš prohlížeč na https://example.com/posts?page=2, URL::current() se vrací:
https://example.com/posts
Syntaxe globálního pomocníka funguje stejně:
$currentUrl = url()->current();
Obojí vede ke stejnému výsledku.
Získání celé adresy URL včetně parametrů dotazu
Chcete-li do výsledku zahrnout parametry dotazu, použijte příkaz full() metoda.
$fullUrl = URL::full();
Příklad výstupu:
https://example.com/posts?page=2&sort=latest
Můžete také použít Request pro stejný případ:
$fullUrl = request()->fullUrl();
Obě vracejí kompletní adresu URL včetně řetězců dotazů.
Použití Request Instance
Na stránkách Request objekt poskytuje několik metod pro interakci s adresou URL a cestou.
Získat aktuální adresu URL (bez dotazu)
$plainUrl = request()->url();
Ekvivalent k URL::current().
Získat úplnou adresu URL (s dotazem)
$fullUrl = request()->fullUrl();
Ekvivalent k URL::full().
Získejte pouze cestu
$path = request()->path();
Příklad:
https://example.com/posts/42 → posts/42
Souhrnný odkaz
| Metoda | Vrací se | Obsahuje řetězec dotazu | Zdroj: |
|---|---|---|---|
URL::current() |
Aktuální adresa URL | No | Fasáda URL |
URL::full() |
Celá adresa URL | Ano | Fasáda URL |
request()->url() |
Aktuální adresa URL | No | Žádost |
request()->fullUrl() |
Celá adresa URL | Ano | Žádost |
request()->path() |
Pouze cesta | NEUPLATŇUJE SE | Žádost |