文档章节

YII 定义一个事件

别人说我名字很长
 别人说我名字很长
发布于 2013/12/29 23:09
字数 200
阅读 176
收藏 0

定义事件分为三步,定义事件、注册事件句柄、触发事件

首先来定义一个事件 项目/protected/extensions/testComponent.php

class testComponent extends CComponent{
    //定义一个事件
    public function onMyevent($event){
        $this->raiseEvent('onMyevent', $event);//注册一个onMyevent事件
    }
}



然后我们注册一个事件句柄 在Arctype控制器中,并触发他
class ArctypeController extends Controller{
    public function actionindex(){
        $com = Yii::createComponent('application.extensions.testComponent');//实例化组件类testComponent
        $com->onMyevent = array($this,'myevent');//注册事件句柄为当前控制器的myevent方法
        $com->onMyevent(new CEvent($com));//触发一个事件        
    }

    //定义事件句柄
    public function myevent(){
        $str = '这个我定义的事件句柄';
        echo  $str;
    }
}



OK,一个事件从定义、注册、触发就完成了,目前还不清楚事件到底有什么用处

© 著作权归作者所有

共有 人打赏支持
别人说我名字很长
粉丝 55
博文 254
码字总数 103692
作品 0
济南
程序员
从配置文件的角度去了解Yii2

前言 Yii2是一个奇特的框架,其牺牲了现在盛行的解耦设计,用一个高度耦合的结构提供给开发者一个方便的几类抽象,Application,Module,Component,甚至是ServiceLocator.想让对象具备哪类特征就直...

Vett
2017/12/23
0
0
yii2 - Behavior 实例及源码分析

Behavior 的简述 行为简单来说是组件的扩展,可以对组件的属性,方法,事件 (yii2组件的三大要点)进行扩展而无需改动组件现有的代码逻辑。即此行为所拥有的属性,方法,事件,都会被绑定它...

big_cat
2016/06/01
811
0
yii2 - Event 实例及源码分析

yii2 可以方便的使用 Event 组件基类 来实现 注册事件和监听触发 机制,每个事件都有自身的事件队列 首先要知道,yii2的事件一共有三类:对象级,类级,全局 Yii::$app 级 对象和 全局是通过...

big_cat
2016/05/27
188
0
Yii2 源码分析 - 入口文件执行流程

以 yii 2.0.14 高级版的 frontend 为例,从 frontend/web/index.php 开始 入口文件看着就这么几行,简单的很,那他是怎么通过这几行来运行应用的呢?先看 Yii.php 内的逻辑 接下来,就是重头...

botkenni
05/03
0
0
Yii学习笔记:扩展YiiBase入口类

通过yiic.php自动创建一个应用后,入口文件初始代码如下: <?php// change the following paths if necessary$yii=dirname(FILE).'/../yii/framework/yii.php';$config=dirname(FILE).'/prot......

吾爱
2013/12/27
0
1

没有更多内容

加载失败,请刷新页面

加载更多

初级开发-编程题

` public static void main(String[] args) { System.out.println(changeStrToUpperCase("user_name_abc")); System.out.println(changeStrToLowerCase(changeStrToUpperCase("user_name_abc......

小池仔
今天
4
0
现场看路演了!

HiBlock
昨天
8
0
Rabbit MQ基本概念介绍

RabbitMQ介绍 • RabbitMQ是一个消息中间件,是一个很好用的消息队列框架。 • ConnectionFactory、Connection、Channel都是RabbitMQ对外提供的API中最基本的对象。Connection是RabbitMQ的s...

寰宇01
昨天
7
0
官方精简版Windows10:微软自己都看不过去了

微软宣布,该公司正在寻求解决方案,以减轻企业客户的Windows 10规模。该公司声称,企业客户下载整个Windows 10文件以更新设备既费钱又费时。 微软宣布,该公司正在寻求解决方案,以减轻企业...

linux-tao
昨天
8
0
TypeScript基础入门之JSX(二)

转发 TypeScript基础入门之JSX(二) 属性类型检查 键入检查属性的第一步是确定元素属性类型。 内在元素和基于价值的元素之间略有不同。 对于内部元素,它是JSX.IntrinsicElements上的属性类型...

durban
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部