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();}