Laravel Запрос получения текущего пути с строкой запроса

Есть ли способ Laravel для получения текущего пути запроса с его параметрами запроса?

Например, для URL:

http://www.example.com/one/two?key=value

Request::getPathInfo() вернет /one/two.

Request::url() вернет http://www.example.com/one/two.

Требуемый результат: /one/two?key=value.

Ответы

Ответ 1

Запрос класс не предлагает метод, который бы возвращал именно то, что вам нужно. Но вы можете легко получить его, объединив результаты двух других методов:

echo (Request::getPathInfo() . (Request::getQueryString() ? ('?' . Request::getQueryString()) : '');

Ответ 2

Laravel 4.5

Просто используйте

Request::fullUrl()

Он вернет полный URL

Вы можете извлечь Querystring с помощью str_replace

str_replace(Request::url(), '', Request::fullUrl())

Или вы можете получить массив всех запросов с помощью

Request::query()

Laravel > 5.1

Просто используйте

$request->fullUrl()

Он вернет полный URL

Вы можете извлечь Querystring с помощью str_replace

str_replace($request->url(), '',$request->fullUrl())

Или вы можете получить массив всех запросов с помощью

$request->query()

Ответ 3

Попробуйте использовать следующее:

\Request::getRequestUri()

Ответ 4

$request->fullUrl() также будет работать, если вы вводите Illumitate\Http\Request.

Ответ 5

Получить параметр флага из строки URL http://cube.wisercapital.com/hf/create?flag=1

public function create(Request $request)
{
$flag = $request->input('flag');
return view('hf.create', compact('page_title', 'page_description', 'flag'));
}

Ответ 6

Как и ответ Yada: $request- > url() также будет работать, если вы вводите Illuminate\Http\Request

Изменить: разница между fullUrl и url заключается в том, что fullUrl включает ваши параметры запроса

Ответ 7

public functin func_name(Request $request){$reqOutput = $request->getRequestUri();}