Laravel中获取路由参数Route Parameters的五种方法示例

发布时间 - 2026-01-11 03:28:08    点击率:

前言

大家都知道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  # route  # 参数  # url  # Laravel框架路由配置总结、设置技巧大全  # 跟我学Laravel之路由  # ThinkPHP、Zend Framework2、Yaf、Laravel框架路由大比拼  # Laravel最佳分割路由文件(routes.php)的方式  # 修改Laravel5.3中的路由文件与路径  # laravel中命名路由的使用方法  # Laravel 5框架学习之路由、控制器和视图简介  # Laravel中重写资源路由自定义URL的实现方法  # Laravel 之url参数  # 获取路由参数的例子  # Laravel路由研究之domain解决多域名问题的方法示例  # Laravel框架路由和控制器的绑定操作方法  # Laravel 框架路由原理与路由访问实例分析  # 的是  # 有个  # 第一个  # 第二个  # 不带  # 放在  # 大家都  # 有很多  # 说了  # 不多  # 有一定  # 分别为  # 种方法  # 这篇文章  # 谢谢大家  # 再到  # 此种  # 中找  # 自动加载  # 有疑问 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Android自定义listview布局实现上拉加载下拉刷新功能  如何在IIS7中新建站点?详细步骤解析  香港服务器网站推广:SEO优化与外贸独立站搭建策略  公司网站制作需要多少钱,找人做公司网站需要多少钱?  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  微信推文制作网站有哪些,怎么做微信推文,急?  用v-html解决Vue.js渲染中html标签不被解析的问题  香港服务器租用每月最低只需15元?  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  如何在建站之星网店版论坛获取技术支持?  Laravel如何实现一对一模型关联?(Eloquent示例)  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  如何用JavaScript实现文本编辑器_光标和选区怎么处理  EditPlus中的正则表达式 实战(1)  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  简单实现Android验证码  python中快速进行多个字符替换的方法小结  JS去除重复并统计数量的实现方法  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  jQuery中的100个技巧汇总  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  Android自定义控件实现温度旋转按钮效果  bing浏览器学术搜索入口_bing学术文献检索地址  为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  如何在腾讯云免费申请建站?  Python并发异常传播_错误处理解析【教程】  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  如何在万网ECS上快速搭建专属网站?  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  音响网站制作视频教程,隆霸音响官方网站?  Linux网络带宽限制_tc配置实践解析【教程】  网站制作免费,什么网站能看正片电影?  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  图册素材网站设计制作软件,图册的导出方式有几种?  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  如何在阿里云部署织梦网站?  Laravel如何使用Service Container和依赖注入?(代码示例)  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  JavaScript实现Fly Bird小游戏  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  如何在 React 中条件性地遍历数组并渲染元素