РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
462 of 1392 menu

Метод url

Метод url класса Request возвращает полный URL текущего запроса без параметров строки запроса. Он не учитывает GET-параметры, возвращая только путь до ресурса с протоколом и доменом. Метод часто используется для формирования ссылок, редиректов или логирования входящих запросов.

Синтаксис

<?php request()->url(); // или через фасад use Illuminate\Support\Facades\Request; Request::url(); // или через внедрение зависимостей use Illuminate\Http\Request; public function index(Request $request) { $url = $request->url(); } ?>

Пример

Давайте получим URL текущего запроса в контроллере:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class UserController extends Controller { public function show(Request $request) { $res = $request->url(); echo $res; } } ?>

Если текущий запрос был отправлен на URL

https://example.com/users/5
то метод url вернёт этот же адрес:

"https://example.com/users/5"

Пример

Посмотрим разницу между методом url и полным URL с GET-параметрами. Для этого отправим запрос с параметрами:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class ArticleController extends Controller { public function index(Request $request) { $url = $request->url(); $fullUrl = $request->fullUrl(); echo "URL: " . $url . "\n"; echo "Full URL: " . $fullUrl; } } ?>

При запросе на адрес

https://example.com/articles?page=2&sort=desc
результат будет следующим:

"URL: https://example.com/articles" "Full URL: https://example.com/articles?page=2&sort=desc"

Пример

Используем метод url в маршруте для перенаправления пользователя:

<?php use Illuminate\Support\Facades\Route; use Illuminate\Http\Request; Route::get('/profile', function (Request $request) { $res = $request->url(); if (str_contains($res, '/admin')) { return redirect('/dashboard'); } return view('profile'); }); ?>

Если текущий URL содержит '/admin', произойдёт редирект на '/dashboard':

// при запросе на https://example.com/admin/profile "Redirecting to /dashboard"

Смотрите также

  • метод fullUrl,
    который возвращает полный URL вместе с GET-параметрами
  • метод path,
    который возвращает только путь без домена и протокола
  • метод route,
    который возвращает параметры текущего маршрута
  • метод query,
    который получает значение параметра из строки запроса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить