前言

大家都知道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 框架路由原理与路由访问实例分析
# 的是
# 有个
# 第一个
# 第二个
# 不带
# 放在
# 大家都
# 有很多
# 说了
# 不多
# 有一定
# 分别为
# 种方法
# 这篇文章
# 谢谢大家
# 再到
# 此种
# 中找
# 自动加载
# 有疑问
相关文章:
css网站制作参考文献有哪些,易聊怎么注册?
如何制作算命网站,怎么注册算命网站?
深圳 网站制作,深圳招聘网站哪个比较好一点啊?
上海网站制作开发公司,上海买房比较好的网站有哪些?
网站企业制作流程,用什么语言做企业网站比较好?
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
智能起名网站制作软件有哪些,制作logo的软件?
建站之星安装后如何配置SEO及设计样式?
如何选择适合PHP云建站的开源框架?
相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?
无锡营销型网站制作公司,无锡网选车牌流程?
C#如何在一个XML文件中查找并替换文本内容
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
简单实现Android文件上传
开封网站制作公司,网络用语开封是什么意思?
实惠建站价格推荐:2025年高性价比自助建站套餐解析
新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?
北京制作网站的公司,北京铁路集团官方网站?
北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?
建站之星会员如何解锁更多建站功能?
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
建站主机如何选?高性价比方案全解析
电商网站制作公司有哪些,1688网是什么意思?
如何在七牛云存储上搭建网站并设置自定义域名?
如何挑选最适合建站的高性能VPS主机?
如何用wdcp快速搭建高效网站?
如何在景安云服务器上绑定域名并配置虚拟主机?
实现虚拟支付需哪些建站技术支撑?
定制建站价位费用解析与套餐推荐全攻略
北京网站制作公司哪家好一点,北京租房网站有哪些?
如何在云服务器上快速搭建个人网站?
Python如何创建带属性的XML节点
如何在橙子建站中快速调整背景颜色?
如何通过万网虚拟主机快速搭建网站?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
建站主机服务器选购指南:轻量应用与VPS配置解析
c# Task.ConfigureAwait(true) 在什么场景下是必须的
武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?
如何在Golang中引入测试模块_Golang测试包导入与使用实践
南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?
建站之星云端配置指南:模板选择与SEO优化一键生成
c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】
济南网站建设制作公司,室内设计网站一般都有哪些功能?
微网站制作教程,我微信里的网站怎么才能复制到浏览器里?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
攀枝花网站建设,攀枝花营业执照网上怎么年审?
建站主机选哪种环境更利于SEO优化?
济南企业网站制作公司,济南社保单位网上缴费步骤?
制作宣传网站的软件,小红书可以宣传网站吗?
自助网站制作软件,个人如何自助建网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。