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 调用远程url的六种方法小结
Nov 02 PHP
PHP 获取远程文件内容的函数代码
Mar 24 PHP
PHP 无限分类三种方式 非函数的递归调用!
Aug 26 PHP
让Json更懂中文(JSON_UNESCAPED_UNICODE)
Oct 27 PHP
ThinkPHP连接Oracle数据库
Apr 22 PHP
详解PHP编码转换函数应用技巧
Oct 22 PHP
Redis使用Eval多个键值自增的操作实例
Nov 04 PHP
PHP迭代与递归实现无限级分类
Aug 28 PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 PHP
php处理抢购类功能的高并发请求
Feb 08 PHP
Laravel框架自定义公共函数的引入操作示例
Apr 16 PHP
PHP生成zip压缩包的常用方法示例
Aug 22 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
十天学会php之第五天
2006/10/09 PHP
PHP通过COM使用ADODB的简单例子
2006/12/31 PHP
jQuery获取json后使用zy_tmpl生成下拉菜单
2015/03/27 PHP
php 使用html5实现多文件上传实例
2016/10/24 PHP
php读取本地json文件的实例
2018/03/07 PHP
用cssText批量修改样式
2009/08/29 Javascript
js弹出层永远居中实现思路及代码
2013/11/29 Javascript
JavaScript输入邮箱自动提示实例代码
2014/01/13 Javascript
jquery实现将获取的颜色值转换为十六进制形式的方法
2014/12/20 Javascript
JS实现控制表格只显示行边框或者只显示列边框的方法
2015/03/31 Javascript
JS实现简单的键盘打字的效果
2015/04/24 Javascript
整理AngularJS中的一些常用指令
2015/06/16 Javascript
jquery实现图片水平滚动效果代码分享
2015/08/26 Javascript
浅谈JavaScript超时调用和间歇调用
2015/08/30 Javascript
JavaScript通过使用onerror设置默认图像显示代替alt
2016/03/01 Javascript
js的form表单提交url传参数(包含+等特殊字符)的两种解决方法
2016/05/25 Javascript
移动端点击图片放大特效PhotoSwipe.js插件实现
2016/08/25 Javascript
Jquery Easyui选项卡组件Tab使用详解(10)
2016/12/18 Javascript
Mongoose实现虚拟字段查询的方法详解
2017/08/15 Javascript
AngularJS标签页tab选项卡切换功能经典实例详解
2018/05/16 Javascript
基于JavaScript canvas绘制贝塞尔曲线
2018/12/25 Javascript
js简单的分页器插件代码实例
2019/09/11 Javascript
浅谈在vue-cli3项目中解决动态引入图片img404的问题
2020/08/04 Javascript
vue+elementUI(el-upload)图片压缩,默认同比例压缩操作
2020/08/10 Javascript
Python爬取Coursera课程资源的详细过程
2014/11/04 Python
通过Python使用saltstack生成服务器资产清单
2016/03/01 Python
python实现拼接图片
2020/03/23 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
2020/04/08 Python
HTML5页面中尝试调起APP功能
2017/09/12 HTML / CSS
Watchshop德国:欧洲在线手表No.1
2019/06/20 全球购物
家乐福台湾线上购物网:Carrefour台湾
2020/09/15 全球购物
电气工程和自动化自荐信范文
2013/12/25 职场文书
大学生求职自我评价
2014/01/16 职场文书
《逃家小兔》教学反思
2014/02/23 职场文书
党的群众路线学习笔记
2014/11/06 职场文书
Windows Server 2022 超融合部署(图文教程)
2022/06/25 Servers