>  기사  >  백엔드 개발  >  Laravel에서 라우팅 매개변수를 얻는 방법에 대한 자세한 설명

Laravel에서 라우팅 매개변수를 얻는 방법에 대한 자세한 설명

*文
*文원래의
2018-01-03 17:26:192769검색

이 글에서는 라라벨에서 경로 매개변수를 얻는 5가지 방법을 주로 소개하고 있으며, 예제 코드를 통해 아주 자세하게 소개하고 있습니다. 라라벨을 배우거나 사용하는 분들은 함께 읽어보셔도 좋을만한 학습 가치가 있습니다. .보세요. 그것이 모두에게 도움이 되기를 바랍니다.

머리말

Laravel에는 라우팅 매개변수를 얻을 수 있는 여러 가지 방법이 있다는 것을 누구나 알고 있으며 몇 가지 함정이 있습니다. 다음과 같이 요약하고 참고 및 연구를 위해 공유합니다. 자세히 살펴보겠습니다.

라우팅 매개변수를 설정했다고 가정합니다:

/**
* 定义路由参数名称分别为: param1,param2
*/
Route::get('/{param1}/{param2}', 'TestController@index');

이제 http://test.dev/1/2

TestController에서:

/**
* 路由参数获取方法
*
* @param Illuminate\Http\Request $request 依赖注入 Request 实例,放在参数中什么位置都可以自动加载
* @param mixed $arg2 要获取的路由参数
* @param mixed $arg1 要获取的路由参数
*/

public function index(Request $request, $arg2, $arg1)
{

 /**
 * 方法一:按照 URL 中路由参数先后顺序来获取
 * 注意:此种方式有个小坑,获取的值只与顺序有关,与名称无关
 */
 echo $arg2; //结果为 1 ,因为 $arg2 在第一位,获取的是第一个路由参数 param1 的值
 echo $arg1; //结果为 2 ,因为 $arg1 在第二位,获取的是第二个路由参数 param2 的值

 /**
 * 方法二:按照路由参数名称来获取
 * 注意:此处名称是 Route 中定义的参数名,非上面方法中的参数名 
 */
 $request->route('param1');  //结果为 1 ,获取的是第一个路由参数
 $request->route('param2');  //结果为 2 ,获取的是第二个路由参数

 /**
 * 方法三:使用 request() 辅助函数来获取,效果同方法二
 */
 request()->route('param1');  //结果为 1 ,如果不带路由参数名则返回当前的Route对象
 request()->route('param2');  //结果为 2 ,如果不带路由参数名则返回当前的Route对象

 /**
 * 方法四:使用 Route Facade
 */
 \Route::input('param1');  //结果为 1 ,该方法必须带路由参数名
 \Route::input('param2');  //结果为 2 ,该方法必须带路由参数名

 /**
 * 方法五:使用 Illuminate\Http\Request 实例动态属性
 */
 $request->param1; //结果为 1 ,Laravel 5.4+ 可用
 $request->param2; //结果为 2 ,Laravel 5.4+ 可用
  
 // 或者
 request()->param1; //结果为 1 ,Laravel 5.4+ 可用
 request()->param2; //结果为 2 ,Laravel 5.4+ 可用
  
 //或者
 request('param1'); //结果为 1 ,Laravel 5.4+ 可用
 request('param2'); //结果为 2 ,Laravel 5.4+ 可用
  
 /**
 * 注意:Laravel 在处理动态属性的优先级是,先从请求的数据(POST/GET)中查找,没有的话再到路由参数中找。
 * 例如:URL : http://test.dev/1/2?param1=a&param2=b
 * $request->param1; request()->param1; request('param1'); //结果为 a
 * $request->param2; request()->param2; request('param2'); //结果为 b
 */
}

위는 Laravel이 라우팅을 얻는 방법입니다. 매개 변수 5가지 방법.

관련 권장 사항:

Laravel 5.4의 IoC 컨테이너에 사용자 정의 클래스를 추가하는 방법에 대한 자세한 설명

Laravel 5.4가 다중 필드 로그인을 구현하는 방법에 대한 자세한 설명

상세 Laravel에 대한 설명 사전 로드 최적화 모델 쿼리 전달 방법

위 내용은 Laravel에서 라우팅 매개변수를 얻는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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