yii2学习——事件(event)

最近在学习Yii2,这里记录一下学习yii2的事件,一个简单的事件实例:

包括了一个对象、一个静态对象、一个匿名函数。

app\controllers\siteController

/**
     * 事件处理
     */
    public function actionEvent(){
        echo ‘这是事件处理<br/>‘;
        
        $person = new Person();
        
        $this->on(‘SayHello‘, [$person,‘say_hello‘],‘你好,朋友‘);
        
        $this->on(‘SayGoodBye‘, [‘app\models\Person‘,‘say_goodbye‘],‘再见了,我的朋友‘);
        
        $this->on(‘GoodNight‘, function(){
            echo ‘晚安!‘;
        });
        
        
        $this->trigger(‘SayHello‘);
        $this->trigger(‘SayGoodBye‘);
        $this->trigger(‘GoodNight‘);
        
    }

app\models\Person.php

<?php

namespace app\models;

use yii\base\Model;

class Person extends Model{
    public function say_hello($parm){
        echo "你应该会看到:".$parm->data.‘<br>‘;
    }
    
    public function say_goodbye($parm){
        echo "你应该会看到:".$parm->data.‘<br>‘;
    }
}

最后输出结果为:

这是事件处理
你应该会看到:你好,朋友
你应该会看到:再见了,我的朋友
晚安!
时间: 2024-10-12 08:42:11

yii2学习——事件(event)的相关文章

学习笔记---Javascript事件Event、IE浏览器下的拖拽效果

学习笔记---Javascript事件Event.IE浏览器下的拖拽效果     1. 关于event常用属性有returnValue(是否允许事件处理继续进行, false为停止继续操作).srcElement(触发事件的事件源对象)和attachEvent("onclick",function(){...}); 2. a. 实现拖放(Drag and Drop): 目前支支持IE, 若定制某对象为可拖放对象, 则必须覆盖目标对象的dragenter和dragover事件, 可以用e

jQuery学习-事件之绑定事件(三)

在上一篇<jQuery学习-事件之绑定事件(二)>我们了解了jQuery的dispatch方法,今天我们来学习下handlers 方法: handlers: function( event, handlers ) {         var sel, handleObj, matches, i,             handlerQueue = [],             delegateCount = handlers.delegateCount,             cur =

jQuery学习-事件之绑定事件(二)

在上一篇<jQuery学习-事件之绑定事件(一)>我们了解了jQuery的add方法,今天我们来学习下dispatch方法: dispatch: function( event ) { //这里是修正event对象的属性,处理兼容性问题         event = jQuery.event.fix( event ); var i, ret, handleObj, matched, j,             handlerQueue = [],//事件队列             arg

μCOS-II系统之事件(event)的使用规则及Semaphore实例

*************************************************************************************************************************** 作者:EasyWave                                                时间:2014.05.31 类别:μC/OS-II-操作系统                                  声明:

μCOS-II系统之事件(event)的使用规则及Semaphore的互斥量用法

*************************************************************************************************************************** 作者:EasyWave                                                时间:2014.05.31 类别:μC/OS-II-操作系统                                  声明:

μCOS-II系统之事件(event)的使用规则及MUTEX实例

*************************************************************************************************************************** 作者:EasyWave                                                时间:2014.05.31 类别:μC/OS-II-操作系统                                  声明:

jQuery学习-事件之绑定事件(四)

今天我们来学习jQuery.Event对象.jQuery为了添加自己的处理机制,及可以传递用户自定义数据,于是Event对象就出世了. 1 jQuery.Event = function( src, props ) {   2     //instanceof 用于判断一个变量是否某个对象的实例   3     if ( !(this instanceof jQuery.Event) ) {   4         return new jQuery.Event( src, props );  

Yii2之事件

众所周知,yii的三大特性是:属性.事件.行为,上一篇博文简单讲解了yii中的属性,本文接着讲讲yii的事件. 事件是代码解耦的一种方式,设计业务流程的一种模式.在yii2.0中,通过Yii\base\Component继承yii\base\Object, 重载__get().__set()方法,引入了事件和行为,使得开发变得十分方便.然而,在方便开发的同时也牺牲了一定的效率, 所以若不需要使用事件和行为,可不必继承Component而选择继承Object,Object的效率更接近原生的PHP类

转--- 秒杀多线程第六篇 经典线程同步 事件Event

阅读本篇之前推荐阅读以下姊妹篇: <秒杀多线程第四篇 一个经典的多线程同步问题> <秒杀多线程第五篇 经典线程同步关键段CS> 上一篇中使用关键段来解决经典的多线程同步互斥问题,由于关键段的“线程所有权”特性所以关键段只能用于线程的互斥而不能用于同步.本篇介绍用事件Event来尝试解决这个线程同步问题. 首先介绍下如何使用事件.事件Event实际上是个内核对象,它的使用非常方便.下面列出一些常用的函数. 第一个 CreateEvent 函数功能:创建事件 函数原型: HANDLEC