параметр url - laravel
наши пользователи получают доступ к нашему сайту с уникальным параметром в URL. т.е.http://example.com/hire-agreement?u=unique_param
Я проложил маршрут к виду -
Route::get('/hire-agreement', function () {
return view('hire-agreement');
});
У меня 2 вопроса.
- Нужно ли мне добавлять что-нибудь еще в маршрут, чтобы параметр можно было прочитать в представлении?
- Как мне прочитать значение этого параметра в представлении? Могу я использовать
$_GET["name"])?
спасибо Крейг.
Ответы
в разделе url больше ничего не нужно. а чтобы использовать или получить параметр url, используйте помощник laravel request () .
$value = request('key');
в поле зрения вы можете напечатать ключ вроде
{{ request('name') }}
полный пример использования помощника по запросу
Route::get('/hire-agreement', function () {
$name = request('name'); //put the key in a variable
return view('hire-agreement', compact('name')); //send the variable to the view
});
а затем в поле зрения вы можете использовать переменную как
{{ $name }}
если вы не хотите использовать переменную, вы можете использовать помощник прямого запроса в представлении
{{ request('name') }}
вы также можете использовать класс Request.
Route::get('/hire-agreement', function (Request $request) {
$name = $request->name;
return view('hire-agreement', compact('name'));
});
однако я бы посоветовал вам использовать контроллер. не используйте закрытие в файле маршрута. Вы не можете кэшировать их, когда это необходимо.
http://example.com/hire-agreement?u=unique_param
в laravel вы можете получить доступ к обоим postи getможете получить доступ к Requestэкземпляру класса или request()помощнику, поэтому вы можете делать
с запросом помощника ()
Route::get('/hire-agreement', function () {
dd(request('u')) // this getting from url ?u=unique_param this u param
return view('hire-agreement');
});
с классом Request или
Route::get('/hire-agreement', function (Request $request) { dd($request->u)) // this getting from url ?u=unique_param this u param
return view('hire-agreement');
});
здесь вы можете
Вам лучше передать запрос контроллеру и обработать его там, так проще и чище. Однако, если вы хотите перейти прямо от маршрута к просмотру, вам лучше использовать метод ниже. поместите это в свой файл маршрута
Route::get('/hire-agreement/{param}', function ($param) { return view('hire-agreement')->with($param);
});
в представлении вы можете получить доступ к параметру, подобному этому
<p>{{$param}}</p>
теперь, если пользователь запрашивает «/ найм-соглашение / 1234», ваш параметр $ в представлении будет содержать 1234. Также, если вы хотите получить доступ к параметрам получения в URL-адресе, вы можете сделать это следующим образом
{{Request::input('q')}}