前言

大家都知道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¶m2=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 框架路由原理与路由访问实例分析
# 的是
# 有个
# 第一个
# 第二个
# 不带
# 放在
# 大家都
# 有很多
# 说了
# 不多
# 有一定
# 分别为
# 种方法
# 这篇文章
# 谢谢大家
# 再到
# 此种
# 中找
# 自动加载
# 有疑问
相关文章:
网站制作壁纸教程视频,电脑壁纸网站?
定制建站如何定义?其核心优势是什么?
外汇网站制作流程,如何在工商银行网站上做外汇买卖?
北京营销型网站制作公司,可以用python做一个营销推广网站吗?
电商网站制作价格怎么算,网上拍卖流程以及规则?
免费视频制作网站,更新又快又好的免费电影网站?
微信推文制作网站有哪些,怎么做微信推文,急?
网站微信制作软件,如何制作微信链接?
如何配置支付宝与微信支付功能?
高端网站建设与定制开发一站式解决方案 中企动力
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
网站制作的方法有哪些,如何将自己制作的网站发布到网上?
网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?
表情包在线制作网站免费,表情包怎么弄?
建站主机选购指南:核心配置优化与品牌推荐方案
Swift中switch语句区间和元组模式匹配
如何在阿里云虚拟主机上快速搭建个人网站?
c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】
小型网站建站如何选择虚拟主机?
如何在Tomcat中配置并部署网站项目?
高性价比服务器租赁——企业级配置与24小时运维服务
如何基于云服务器快速搭建个人网站?
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
如何在Golang中处理模块冲突_解决依赖版本不兼容问题
香港服务器WordPress建站指南:SEO优化与高效部署策略
如何快速生成ASP一键建站模板并优化安全性?
如何选择网络建站服务器?高效建站必看指南
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
实惠建站价格推荐:2025年高性价比自助建站套餐解析
青岛网站建设如何选择本地服务器?
如何挑选优质建站一级代理提升网站排名?
定制建站流程步骤详解:一站式方案设计与开发指南
如何在橙子建站上传落地页?操作指南详解
内部网站制作流程,如何建立公司内部网站?
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
哈尔滨网站建设策划,哈尔滨电工证查询网站?
如何通过网站建站时间优化SEO与用户体验?
C++中引用和指针有什么区别?(代码说明)
专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何快速搭建虚拟主机网站?新手必看指南
如何用PHP快速搭建高效网站?分步指南
如何制作网站标识牌,动态网站如何制作(教程)?
如何在云虚拟主机上快速搭建个人网站?
定制建站流程解析:需求评估与SEO优化功能开发指南
网站设计制作企业有哪些,抖音官网主页怎么设置?
建站主机选虚拟主机还是云服务器更好?
网站好制作吗知乎,网站开发好学吗?有什么技巧?
公众号网站制作网页,微信公众号怎么制作?
*请认真填写需求信息,我们会在24小时内与您取得联系。