zoukankan      html  css  js  c++  java
  • 【php】中【event】之实现方式

    这两天看了点事件机制,那么在php中,如何实现最简单的事件呢?

    废话不多说,我们上代码。

    
    
    <?php
    class Event{
        //事件名称
        public $name;
        //存储hander
        public $events = [];
        //用于绑定hander
        public function on($hander){
            $this->events[] = $hander;
        }
        //用于触发事件
        public function trigger(){
            foreach($this->events as $event){
                call_user_func($event);
            }
        }
    }
    function handle(){
        echo "终于下班了!
    可惜要加班!
    ";
    }
    $event = new Event();
    $event->name = '下班事件';
    $event->on('handle');
    $event->trigger();

    这些代码究竟是什么意思呢?
    首先定义一个事件实例
    $event = new Event();

    然后给这个事件起个名字
    $event->name = '下班事件';
    再然后给这个事件绑定一个处理程序
    $event->on('handle');

    最后触发这个事件
    $event->trigger();
    在触发过程中,会遍历events数组,顺序执行已经绑定的处理器~
  • 相关阅读:
    换教室
    [国家集训队]礼物
    【模板】扩展卢卡斯(学习笔记)
    Desert King
    绿豆蛙的归宿
    Dropping tests
    [SDOI2013]随机数生成器
    佳佳的fib
    [USACO10OPEN]水滑梯Water Slides
    强大的XML
  • 原文地址:https://www.cnblogs.com/victorruan/p/php_event.html
Copyright © 2011-2022 走看看