laravel在中间件内生成参数并且传递到控制器中的2种姿势


Posted in PHP onOctober 15, 2019

姿势1

使用$request->attributes->add($arr)方法

Demo:

注册中间件这部分就不说了 主要说用法

class MidParams //中间件
{
 public function handle($request, Closure $next)
 {
  $mid_params = ['mid_params'=>'this is mid_params'];
  $request->attributes->add($mid_params);//添加参数

  return $next($request);//进行下一步(即传递给控制器)
 }
}
class MidController extends Controller { //控制器
 public function testMidFunc(Request $request) {
  $input_params = $request->input();//获取参数
  $mid_params = $request->get('mid_params');//中间件产生的参数
  return ['my_params'=>$input_params,
  'mid_params'=>$mid_params];
  //注意:$request->attributes->add这种方法 input()取不到值  只能用get('xxx')取到值
 }
}

下面来看结果:

laravel在中间件内生成参数并且传递到控制器中的2种姿势

my_params是传的参,mid_params是中间件生成的参

姿势2

使用$request->merge($arr)方法

Demo:

class MidParams //中间件
{
 public function handle($request, Closure $next)
 {
  $mid_params = ['mid_params'=>'this is mid_params'];
  $request->merge($mid_params);//合并参数
  return $next($request);
 }
}
class MidController extends Controller { //控制器
 public function testMidFunc(Request $request) {
  $all_params = $request->input();//获取参数
  return ['all_params'=>$all_params];
 }
}

结果:

laravel在中间件内生成参数并且传递到控制器中的2种姿势

merge后$request->input()能获取到所有的参数

以上这篇laravel在中间件内生成参数并且传递到控制器中的2种姿势就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
用PHP读注册表
Oct 09 PHP
在PHP中读取和写入WORD文档的代码
Apr 09 PHP
php str_pad 函数使用详解
Jan 13 PHP
php安全配置 如何配置使其更安全
Dec 16 PHP
浅析php学习的路线图
Jul 10 PHP
dedecms中使用php语句指南
Nov 13 PHP
PHP验证码生成原理和实现
Jan 24 PHP
php强大的时间转换函数strtotime
Feb 18 PHP
php版微信小店调用api示例代码
Nov 12 PHP
PHP提取字符串中的手机号正则表达式怎么写
Jul 17 PHP
Laravel项目中timeAgo字段语言转换的改善方法示例
Sep 16 PHP
php7连接MySQL实现简易查询程序的方法
Oct 13 PHP
laravel 实现划分admin和home 模块分组
Oct 15 #PHP
laravel 根据不同组织加载不同视图的实现
Oct 14 #PHP
Laravel 创建可以传递参数 Console服务的例子
Oct 14 #PHP
laravel 自定义常量的两种方案
Oct 14 #PHP
Laravel如何实现自动加载类
Oct 14 #PHP
解决laravel资源加载路径设置的问题
Oct 14 #PHP
Laravel基础_关于view共享数据的示例讲解
Oct 14 #PHP
You might like
c#中的实现php中的preg_replace
2009/12/21 PHP
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
2013/04/25 PHP
详解WordPress中过滤链接与过滤SQL语句的方法
2015/12/18 PHP
Laravel使用scout集成elasticsearch做全文搜索的实现方法
2018/11/30 PHP
微信公众号之主动给用户发送消息功能
2019/06/22 PHP
javascript中使用css需要注意的地方小结
2010/09/01 Javascript
菜鸟javascript基础资料整理2
2010/12/06 Javascript
JavaScript将Web页面内容导出到Word及Excel的方法
2015/02/13 Javascript
jQuery实现悬浮在右上角的网页客服效果代码
2015/10/24 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
2016/02/26 Javascript
jQuery 实现评论等级好评差评特效
2016/05/06 Javascript
jQuery实现查找最近父节点的方法
2016/06/23 Javascript
JavaScript性能优化之函数节流(throttle)与函数去抖(debounce)
2016/08/11 Javascript
详解用node.js实现简单的反向代理
2017/06/26 Javascript
微信小程序生成分享海报方法(附带二维码生成)
2019/03/29 Javascript
微信小程序用户授权弹窗 拒绝时引导用户重新授权实现
2019/07/29 Javascript
laydate只显示时分 不显示秒的功能实现方法
2019/09/28 Javascript
Vue的状态管理vuex使用方法详解
2020/02/05 Javascript
[00:37]食人魔魔法师轮盘吉兆顺应全新至宝将拥有额外款式
2019/12/19 DOTA
wx.CheckBox创建复选框控件并响应鼠标点击事件
2018/04/25 Python
python 读取txt中每行数据,并且保存到excel中的实例
2018/04/29 Python
Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法
2018/05/04 Python
对python判断ip是否可达的实例详解
2019/01/31 Python
基于python的socket实现单机五子棋到双人对战
2020/03/24 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
2019/11/19 Python
keras中模型训练class_weight,sample_weight区别说明
2020/05/23 Python
Python项目跨域问题解决方案
2020/06/22 Python
python如何支持并发方法详解
2020/07/25 Python
HTML5的hidden属性兼容老浏览器的方法
2014/04/23 HTML / CSS
澳大利亚电商Catch新西兰站:Catch.co.nz
2020/05/30 全球购物
社区十八大感言
2014/01/19 职场文书
质量月口号
2014/06/20 职场文书
班级学习雷锋活动总结
2014/07/04 职场文书
导航工程专业自荐信
2014/09/02 职场文书
学风建设演讲稿
2014/09/12 职场文书
管理失职检讨书范文
2015/05/05 职场文书