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 相关文章推荐
header导出Excel应用示例
Jan 24 PHP
phpmyadmin中禁止外网使用的方法
Nov 04 PHP
正确的PHP匹配UTF-8中文的正则表达式
May 13 PHP
PHP合并discuz用户脚本的方法
Aug 04 PHP
详解WordPress开发中wp_title()函数的用法
Jan 07 PHP
PHP设计模式之简单投诉页面实例
Feb 24 PHP
php生成mysql的数据字典
Jul 07 PHP
PHP微信API接口类
Aug 22 PHP
PHP接收App端发送文件流的方法
Sep 23 PHP
php实现PDO中捕获SQL语句错误的方法
Feb 16 PHP
PHP 应用容器化以及部署方法
Feb 12 PHP
laravel 创建命令行命令的图文教程
Oct 23 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 MemCached高级缓存配置图文教程
2010/08/05 PHP
php park、unpark、ord 函数使用方法(二进制流接口应用实例)
2010/10/19 PHP
php 获取百度的热词数据的代码
2012/02/18 PHP
php 常用算法和时间复杂度
2013/07/01 PHP
PHP仿博客园 个人博客(2) 数据库增添改删
2013/07/05 PHP
php单链表实现代码分享
2016/07/04 PHP
使用js复制链接中的部分文字的方法
2015/07/30 Javascript
基于jquery fly插件实现加入购物车抛物线动画效果
2016/04/05 Javascript
JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)
2016/05/20 Javascript
JS针对浏览器窗口关闭事件的监听方法集锦
2016/06/24 Javascript
使用JSON作为函数的参数的优缺点
2016/10/27 Javascript
xmlplus组件设计系列之分隔框(DividedBox)(8)
2017/05/02 Javascript
详解HTML5 使用video标签实现选择摄像头功能
2017/10/25 Javascript
JS中offset和匀速动画详解
2018/02/06 Javascript
angularJs 表格添加删除修改查询方法
2018/02/27 Javascript
JS实现生成由字母与数字组合的随机字符串功能详解
2018/05/25 Javascript
详解微信JS-SDK选择图片遇到的坑
2018/08/15 Javascript
jQuery md5加密插件jQuery.md5.js用法示例
2018/08/24 jQuery
vue新vue-cli3环境配置和模拟json数据的实例
2018/09/19 Javascript
深入浅析Vue 中 ref 的使用
2019/04/29 Javascript
解决vue项目中页面调用数据 在数据加载完毕之前出现undefined问题
2019/11/14 Javascript
JS猜数字游戏实例讲解
2020/06/30 Javascript
python getopt详解及简单实例
2016/12/30 Python
Python3利用SMTP协议发送E-mail电子邮件的方法
2017/09/30 Python
python实现快速排序的示例(二分法思想)
2018/03/12 Python
Python3爬虫学习之将爬取的信息保存到本地的方法详解
2018/12/12 Python
使用CodeMirror实现Python3在线编辑器的示例代码
2019/01/14 Python
python3字符串操作总结
2019/07/24 Python
Python generator生成器和yield表达式详解
2019/08/08 Python
jupyter notebook 多行输出实例
2020/04/09 Python
菲律宾旅游网站:Expedia菲律宾
2017/10/11 全球购物
英国领先的高级美容和在线皮肤诊所:Face the Future
2020/06/17 全球购物
应届大学生的推荐信
2013/11/20 职场文书
活动倡议书范文
2014/05/13 职场文书
贯彻落实“八项规定”思想汇报
2014/09/13 职场文书
2015年社区工作总结
2015/04/08 职场文书