>  기사  >  PHP 프레임워크  >  laravel에서 매개변수를 사용하여 페이지 점프 기능을 구현하는 방법

laravel에서 매개변수를 사용하여 페이지 점프 기능을 구현하는 방법

PHPz
PHPz원래의
2023-04-19 10:08:151305검색

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 = [
            &#39;param1&#39; => '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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.