• php 事件监听器实例


    监视器主要功能

    • .绑定事件 支持一个事件绑定多个动作
    • 触发事件
    class Event
    {
        static $list = [];
    
        //绑定事件
        public static function listen($name, $function)
        {
            //验证 $function 是否是闭包
            if (!is_callable($function)) {
                echo '不是闭包';
                exit;
            }else{
                var_dump($function);
            }
            self::$list[$name][] = $function;
        }
    
        //触发
        public static function trigger($name, $param)
        {
            foreach (self::$list[$name] as $k => $v) {
                //var_dump($v);die;
                call_user_func_array($v, $param);
            }
        }
    }

    调用代码例子

    class fly
    {
        public function run()
        {
            echo '废了';
        }
    }
    
    $fly = new fly();
    Event::listen('walk', [$fly, 'run']);
    Event::listen('walk', function ($a) {
        var_dump($a);
    });
    Event::trigger('walk', ['d']);
  • 相关阅读:
    利用pyautogui自动化领取dnf的在线养竹活动的竹子
    idea2019.3版本的安装
    二叉树文本分析
    表达式树的创建
    24点游戏
    二叉树
    队列操作
    HuffmanTree
    两数之和
    面向对象Python
  • 原文地址:https://www.cnblogs.com/zxqblogrecord/p/14298992.html
Copyright © 2020-2023  润新知