在yii2中,让你action参数支持POST数据的小方法
原
荐
字数 344
阅读 2
收藏 0
开发十年,就只剩下这套 Java 开发体系了 >>>
我们先来看一段代码
class RaController extends Controller { public $enableCsrfValidation = false; public function actionSay($username = '',$city = ''){ echo "{$username} 来自 {$city}"; } }
这里actionSay对应的url为index.php?r=ra/say,而 $username 和 $city 值的获取来自于url的参数,比如
index.php?r=ra/say&username=abei2017&city=洛阳
总结在yii2中,action参数都是来自于GET。
但是有的时候你可能需要让action的参数来自于POST请求,怎么办?
重载runAction即可,yii2为控制器提供了runAction方法,它负责生成一个具体的Action对象并传递参数,我们可以通过复写它来实现,你可以看下 yii2的生命周期 来对其进行更好的了解。
那就开始干吧~,对上面的代码复写runAction
class RaController extends Controller { public $enableCsrfValidation = false; public function runAction($id, $params = []){ $params = ArrayHelper::merge(Yii::$app->request->post(),$params); return parent::runAction($id, $params); } public function actionSay($username = '',$city = ''){ echo "{$username} 来自 {$city}"; } }
复写了runAction后,它将作用于此控制器的所有action,当然你也可以通过runAction的$id来作用于某个action。比如
public function runAction($id, $params = []){ if($id == 'say'){ $params = ArrayHelper::merge(Yii::$app->request->post(),$params); } return parent::runAction($id, $params); }
现在去试试吧,对say动作提交POST数据username和city,成功接收。
© 著作权归作者所有
共有人打赏支持
相关文章 最新文章
虽然每个人的编程风格不同,但是有些建议能让你的代码更加规范和稳定,本次就我这次网站更新总结如下几点,希望对你的yii2学习和使用有所帮助。 环境说明 服务器环境: CentOS 开发环境及IDE...
阿北2017
06/02
0
0
转载地址 记录Yii2框架开发遇到微信错误提示 微信公共号开发,提示“该公众号暂时无法提供服务,请稍后再试”,如何解决? 以前使用Yii框架的时候,并没有像Yii2,以前的Yii框架似乎用起来在...
durban
07/22
0
0
这里我讲一下在yii框架中如何使用简单的过滤器(filter). yii 框架 提供了很好的动作(action)过滤,使用的方法也很简单,例如: 只有通过 POST 请求才能访问 post/delete 页面,只需在控制器的...
首席烤地瓜
2012/10/29
0
0
一般学习新的东西都会说声Hello World!,今天我再说一次Hello World!,不过这次是用Yii框架来实现的。 首先让访问时默认显示“Hello”,需要创建一个 say 操作,从请求中接收 message 参数...
高万耀
06/26
0
0
/** * kindeditor * 源文件 : www/js/kindeditor/ * 功能 : 富文本编辑器,优于ckeditor,支持多种显示插入代码的样式。 * 形式 : 现以components的方式整合到yii中(修改自其自带的php demo)...
wedv
2014/02/18
0
0
没有更多内容
加载失败,请刷新页面
加载更多我们先来看一段代码 class RaController extends Controller { public $enableCsrfValidation = false; public function actionSay($username = '',$city = ''){ echo "{$......
阿北2017
17分钟前
2
0
在近日发布的 macOS 10.14 Mojave 操作系统中,有人发现它(在某些机型中)悄然禁用了先前的「次像素平滑渲染」选项,导致部分(尤其是使用非高分辨率显示器)用户觉得字体比先前的更细更难看...
火力全開
21分钟前
0
0
实现分布式锁的正确姿势 原理分析 最近看到好多博主都在推分布式锁,实现方式很多,基于db、 redis 、zookeeper。zookeeper方式实现起来比较繁琐,这里我们就谈谈基于redis实现分布式锁的正确实...
DemonsI
26分钟前
0
0
2018年9月25日 百度小程序开放企业申请 微信小程序:现在微信小游戏都热火朝天了,而且已经有了云开发,包括提供的能力、文档、社区等都相对完善,也有相关的变现方式; 支付宝小程序:https...
to_be_better
29分钟前
0
0
没有更多内容
加载失败,请刷新页面
加载更多以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 让 performSelector:withObject:afterDelay: 支持多个参数
- SpringBoot实现动态控制定时任务-支持多参数
- Rust 1.36.0 发布,dbg! 宏现在支持多个参数
- Mars 3.0.13 正式发布,支持参数校验和异常监听
- DataGear 1.8.1 发布,看板支持异步加载图表和参数传入
- ThinkPHP 5.1.25 发布,改进查询参数绑定和浮点型支持
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Perl语言编程
[美] Larry Wall、Tom Christiansen、Jon Orwant / 何伟平 / 中国电力出版社 / 2001-12 / 129.00元
这不仅仅是一本关于Perl的书籍,更是一本独一无二的开发者自己介绍该语言及其文化的书籍。Larry Wall是Perl的开发者,他就这种语言的未来发展方向提出了自己的看法。Tom Christiansen是最早的几个拥护者之一,也是少数几个在错综复杂的中游刃有余的人之一。Jon Orwant是《Perl Journal》的主编,该杂志把Perl社区组合成了一个共同的论坛,以进行Perl新的开发。一起来看看 《Perl语言编程》 这本书的介绍吧!