Laravel 프레임워크에서 페이지로 이동하는 것은 매우 일반적인 작업입니다. 점프할 때 검색 키워드, 페이지 수 등과 같은 일부 매개변수를 가져와야 하는 경우가 있습니다. 이때, 매개변수가 있는 페이지로 점프하는 기능을 구현해 주어야 합니다. 이 기사에서는 매개변수가 있는 페이지 점프 기능을 구현하고 리디렉션 없이 매개변수 전달을 달성하는 방법을 소개합니다.
1. 기본 점프
Laravel 프레임워크에는 두 가지 점프 방법이 있는데, 하나는 리다이렉트 기능을 사용하는 것이고, 다른 하나는 뷰 기능을 사용하는 것입니다. 리다이렉트 함수는 다른 컨트롤러 메소드로 점프하는데 사용되고, 뷰 함수는 뷰 파일로 점프하는데 사용됩니다.
redirect 기능을 사용하면 다음과 같이 작성할 수 있습니다.
return redirect()->action( '[控制器名称]@[方法名称]' );
view 기능을 사용하면 다음과 같이 작성할 수 있습니다.
return view('[视图文件路径]', [参数数组]);
두 메소드 모두 매개변수를 전달해야 하는 경우 다음을 사용해야 합니다. 방법.
2. 매개변수를 사용하여 점프
2.1. 미들웨어 사용
Laravel은 미들웨어를 사용하여 다음 요청에 매개변수를 전달할 수 있습니다.
새 미들웨어를 생성하고 미들웨어에 매개변수를 저장한 후 다음 요청에서 이러한 매개변수를 검색할 수 있습니다. 미들웨어 코드는 다음과 같습니다.
<?php namespace App\Http\Middleware; use Closure; class ParamsMiddleware { public function handle($request, Closure $next) { $params = [ 'param1' => 'value1', 'param2' => 'value2', 'param3' => 'value3', ]; $request->session()->put('params', $params); return $next($request); } }
세션에서 매개변수를 저장한 후 다음 요청에서 검색합니다.
$params = $request->session()->get('params');
web.php 파일에 미들웨어를 등록하고 해당 라우트에 미들웨어를 추가할 수 있습니다.
Route::middleware('params')->get('/', '[控制器名称]@[方法名称]');
이 방법의 단점은 세션을 사용해야 한다는 점입니다. 세션이 켜져 있지 않으면 사용할 수 없습니다.
2.2. URL 매개변수 사용하기
URL 매개변수를 사용하여 다음 페이지로 매개변수를 전달할 수도 있습니다.
점프할 때 경로 기능을 사용하여 경로를 지정한 다음 경로에 매개변수를 설정할 수 있습니다.
점프 코드:
return redirect()->route('[路由名称]', ['param1' => 'value1', 'param2' => 'value2']);
라우팅 코드:
Route::get('/', '[控制器名称]@[方法名称]')->name('[路由名称]');
컨트롤러에서 요청 개체를 사용하여 URL 매개변수를 가져올 수 있습니다.
$request->input('param1');
이 방법의 단점은 URL 매개변수가 URL 주소 표시줄에 표시되어 사용자에게 문제를 일으킬 수 있다는 것입니다.
2.3. 리디렉션 매개변수 사용
Laravel은 리디렉션 없이 매개변수를 전달하는 또 다른 방법을 제공합니다. 먼저 코드를 보고 설명해보자.
return redirect()->to('/')->with('param1', 'value1')->with('param2', 'value2');
리디렉션할 때 with 함수를 사용하여 세션에 매개변수를 저장할 수 있습니다. 이렇게 하면 다음 요청에서 매개변수를 사용할 수 있습니다.
컨트롤러에서는 이와 같은 매개변수를 얻을 수 있습니다.
$request->session()->get('param1'); $request->session()->get('param2');
이 방법은 리디렉션 없이 매개변수 전달을 달성하고 URL 매개변수가 사용자에게 간섭하는 것을 방지합니다.
Summary
Laravel에는 매개변수를 사용하여 페이지 건너뛰기 기능을 구현하는 방법이 많이 있습니다. 미들웨어, URL 매개변수 또는 리디렉션 매개변수를 사용할 수 있습니다. 다양한 방법에는 서로 다른 장점과 단점이 있으므로 실제 필요에 따라 가장 적절한 방법을 선택해야 합니다.
위 내용은 laravel에서 매개변수를 사용하여 페이지 점프 기능을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!