yii2 Event 使用2
来源:互联网 发布:nginx 访问用户名密码 编辑:程序博客网 时间:2024/05/13 06:02
这里说的是通过行为的方式绑定事件
1.定义行为事件类: MyBehavior.php
<?phpnamespace myapp\frontend\code\ECM\Customer\events;use yii\db\ActiveRecord;use yii\base\Behavior;use myapp\frontend\code\ECM\Cms\controllers\IndexController;class MyBehavior extends Behavior{ // 其它代码const EVENT_HELLO = 'myhello'; public function events() { return [ self::EVENT_HELLO => 'hello', ]; } public function hello($event) { \Yii::info($event->message,'mylog'); }}?>
2.定义数据格式类:
<?phpnamespace myapp\frontend\code\ECM\Customer\events;use Yii;use yii\base\Model;use yii\base\Event;/** * ContactForm is the model behind the contact form. */class MessageEvent extends Event{ public $message;}
3.在行为函数中绑定定义的 行为事件
<?phpnamespace myapp\frontend\code\ECM\Cms\controllers;use Yii;use myapp\frontend\code\ECM\BaseController;use myapp\frontend\code\ECM\Customer\events\MyBehavior;use myapp\frontend\code\ECM\Customer\events\Ha;use myapp\frontend\code\ECM\Customer\events\MessageEvent;class IndexController extends BaseController{ # 定义Event的名字 //const EVENT_HELLO = 'my hello'; public function behaviors() { return [ # 命名行为, 绑定行为事件# 绑定后 会通过这个类的events() 返回所有的事件数组,然后全部绑定。# 道理就是:通过行为的方式绑定对应的event , 和on函数绑定一个原理 'myBehavior2' => MyBehavior::className(), ]; } public function actionIndex() {#定义传递数据的格式 Event$event = new MessageEvent;# 赋值 $event->message = 'good';# 触发事件 # 这里已经不需要on绑定,因为在行为中已经绑定完成$this->trigger(MyBehavior::EVENT_HELLO,$event); return $this->render('index'); }}
4.打印日志查看:tail -f app/runtime/logs/my.log
2015-11-17 11:50:54 Array[info][mylog] good in /www/web/develop/test/erp/myapp/frontend/code/ECM/Customer/events/MyBehavior.php:21 in /www/web/develop/test/erp/myapp/frontend/code/ECM/Cms/controllers/IndexController.php:36
已经输出对应的 $EventMessage->mesage值。
good!
0 0
- yii2 Event 使用2
- yii2 Event的使用 1
- Yii2 使用Event -2 ,如何使用事件_@TERRY
- yii2 Event
- Yii2 使用Event -1 ,如何使用事件_@TERRY
- Yii2 property,behavior,event
- 深入理解Yii2.0 (2)事件Event
- yii2使用
- Yii2 yii2-imagine的使用
- event 使用
- Event使用
- YII2 关联查询使用
- Yii2 使用一 安装
- yii2 console的使用
- Yii2 使用十三 RBAC
- Yii2 使用十七 国际化
- yii2 使用ueditor教程
- Yii2 redis 使用
- 安卓手把手教你实现集成支付宝支付功能
- 博客测试
- Handler Looper MessageQueue之Looper
- Telerik GridView 汉化
- 主机Linux的交叉编译链生成、安装、配置
- yii2 Event 使用2
- 如何运行 .smali 程序
- ArcGIS教程:了解路径距离分析(一)
- 软件设计 OOA和OOD的作用及说明
- 如何从linux内核上预留DDR物理内存
- SQL 题目及答案
- Css鼠标选中文字后改变背景色的实现代码
- Java代码为hbase表添加数据
- Handler Looper MessageQueue之Handler