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

 更新时间:2019年10月15日 09:09:09   作者:小曹小盆友  
今天小编就为大家分享一篇laravel在中间件内生成参数并且传递到控制器中的2种姿势,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

姿势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')取到值
 }
}

下面来看结果:

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];
 }
}

结果:

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

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

相关文章

  • laravel开发环境homestead搭建过程详解

    laravel开发环境homestead搭建过程详解

    Laravel Homestead 是一个官方预封装的 Vagrant box ,它为你提供了一个完美的开发环境,你不需要在本地机器安装 PHP、web 服务器和其他的服务器软件,这篇文章主要介绍了laravel开发环境homestead搭建,需要的朋友可以参考下
    2020-07-07
  • 在CentOS系统上从零开始搭建WordPress博客的全流程记录

    在CentOS系统上从零开始搭建WordPress博客的全流程记录

    这篇文章主要介绍了在CentOS系统中从零开始搭建WordPress站点的全流程记录,使用最大众的Apache服务器和MySQL数据库环境,需要的朋友可以参考下
    2016-04-04
  • php提取身份证号码中的生日日期以及验证是否为成年人的函数

    php提取身份证号码中的生日日期以及验证是否为成年人的函数

    本篇文章使用php技术提取身份证号码中的生日日期来判断是否是未成年人的一个函数。下面小编把代码分享给大家,供大家参考
    2015-09-09
  • 详解php中的类与对象(继承)

    详解php中的类与对象(继承)

    在php中,类型的继承使用extends关键字,而且最多只能继承一个父类,php不支持多继承。这篇文章主要介绍了php中的类与对象(继承),需要的朋友可以参考下
    2017-12-12
  • 浅谈php fopen下载远程文件的函数

    浅谈php fopen下载远程文件的函数

    下面小编就为大家带来一篇浅谈php fopen下载远程文件的函数。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • thinkphp获取栏目和文章当前位置的方法

    thinkphp获取栏目和文章当前位置的方法

    这篇文章主要介绍了thinkphp获取栏目和文章当前位置的方法,通过一个自定义的递归函数读取目录来实现获取栏目和文章当前位置,是非常实用的技巧,需要的朋友可以参考下
    2014-10-10
  • PHP执行linux命令常用函数汇总

    PHP执行linux命令常用函数汇总

    一般情况下,很少会用php去执行linux命令,不过特殊情况下,你也许会用到这些函数。以前我知道有二个函数可以执行linux命令,一个是exec,一个是shell_exec,通过本文给大家介绍PHP执行linux命令常用函数汇总,需要的朋友参考下
    2016-02-02
  • thinkphp实现图片上传功能分享

    thinkphp实现图片上传功能分享

    图片上传在网站里是很常用的功能.ThinkPHP里也有自带的图片上传类(UploadFile.class.php) 和图片模型类(Image.class.php)。方便于我们去实现图片上传功能,下面是实现方法
    2014-03-03
  • PHP实现简易用户登录系统

    PHP实现简易用户登录系统

    这篇文章主要为大家详细介绍了PHP实现简易用户登录系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • Yii框架使用魔术方法实现跨文件调用功能示例

    Yii框架使用魔术方法实现跨文件调用功能示例

    这篇文章主要介绍了Yii框架使用魔术方法实现跨文件调用功能,涉及Yii框架中php面向对象程序设计相关操作技巧,需要的朋友可以参考下
    2017-05-05

最新评论