亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

php實現事件監聽與觸發的方法

2024-05-04 23:27:43
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了php實現事件監聽與觸發的方法,可實現時間的綁定、觸發與注銷等功能,具有一定的參考借鑒價值,需要的朋友可以參考下
 
 

本文實例講述了php實現事件監聽與觸發的方法。分享給大家供大家參考。具體分析如下:

閑來無事,想了想PHP如何實現事件監聽,參考了jQuery的事件綁定思路,簡單的實現了一下。

主要功能:

1.綁定事件 支持一個事件綁定多個動作,支持綁定一次性事件
2.觸發事件
3.注銷事件

復制代碼代碼如下:
class Event 

    protected static $listens       = array(); 
      
    public static function listen($event, $callback, $once=false){ 
        if(!is_callable($callback)) return false; 
        self::$listens[$event][]    = array('callback'=>$callback, 'once'=>$once); 
        return true; 
    } 
      
    public static function one($event, $callback){ 
        return self::listen($event, $callback, true); 
    } 
      
    public static function remove($event, $index=null){ 
        if(is_null($index)) 
            unset(self::$listens[$event]); 
        else
            unset(self::$listens[$event][$index]); 
    } 
      
    public static function trigger(){ 
        if(!func_num_args()) return; 
        $args                       = func_get_args(); 
        $event                      = array_shift($args); 
        if(!isset(self::$listens[$event])) return false; 
        foreach((array) self::$listens[$event] as $index=>$listen){ 
            $callback               = $listen['callback']; 
            $listen['once'] && self::remove($event, $index); 
            call_user_func_array($callback, $args); 
        } 
    } 
}

以下是一些調用的例子:
復制代碼代碼如下:
// 增加監聽walk事件 
Event::listen('walk', function(){ 
    echo "I am walking...n"; 
}); 
// 增加監聽walk一次性事件 
Event::listen('walk', function(){ 
    echo "I am listening...n"; 
}, true); 
// 觸發walk事件 
Event::trigger('walk'); 
/* 
I am walking... 
I am listening... 
*/
Event::trigger('walk'); 
/* 
I am walking... 
*/
  
Event::one('say', function($name=''){ 
    echo "I am {$name}n"; 
}); 
  
Event::trigger('say', 'deeka'); // 輸出 I am deeka 
Event::trigger('say', 'deeka'); // not run 
  
class Foo 

    public function bar(){ 
        echo "Foo::bar() is calledn"; 
    } 
      
    public function test(){ 
        echo "Foo::foo() is called, agrs:".json_encode(func_get_args())."n"; 
    } 

  
$foo    = new Foo; 
  
Event::listen('bar', array($foo, 'bar')); 
Event::trigger('bar'); 
  
Event::listen('test', array($foo, 'test')); 
Event::trigger('test', 1, 2, 3); 
  
class Bar 

    public static function foo(){ 
        echo "Bar::foo() is calledn"; 
    } 

  
Event::listen('bar1', array('Bar', 'foo')); 
Event::trigger('bar1'); 
  
Event::listen('bar2', 'Bar::foo'); 
Event::trigger('bar2'); 
  
function bar(){ 
    echo "bar() is calledn"; 

  
Event::listen('bar3', 'bar'); 
Event::trigger('bar3');

 

希望本文所述對大家的PHP程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品亚洲综合天堂夜夜| 色综合久久悠悠| 国产精品jizz在线观看麻豆| 亚洲一区二区三区视频| 国产精品久久久久久久久久尿| 久久99精品久久久久久青青91| 亚洲天天在线日亚洲洲精| 欧美亚洲在线观看| 色久欧美在线视频观看| 亚洲国产美女久久久久| 国产成人精品一区二区在线| 久久久久久综合网天天| 国产精品pans私拍| 日韩欧美精品中文字幕| 不卡毛片在线看| 欧美日本国产在线| 日韩有码在线视频| 77777亚洲午夜久久多人| 精品国产依人香蕉在线精品| 亚洲a中文字幕| 欧美日韩国产精品专区| 欧美裸体xxxxx| 亚洲香蕉伊综合在人在线视看| 国产视频在线观看一区二区| 亚洲精品电影网站| 热久久这里只有| 久热精品视频在线| 国产精品69久久| 亚洲欧美国产精品va在线观看| 91精品国产网站| 91福利视频在线观看| 日韩电影在线观看免费| 992tv成人免费视频| 欧美大片免费观看在线观看网站推荐| 亚洲色图校园春色| 狠狠躁夜夜躁人人爽天天天天97| 欧美精品一区二区三区国产精品| 欧美最顶级丰满的aⅴ艳星| 久久91精品国产91久久久| 国产精品久久久久一区二区| 日韩**中文字幕毛片| 国产69精品久久久久9| 日韩精品999| 国产成人精品在线观看| 久久99精品久久久久久琪琪| 精品自在线视频| 亚洲国产精品久久91精品| 在线看欧美日韩| 国产精品视频成人| 欧美日韩国产专区| 欧美国产在线电影| 亚洲国产成人精品久久| 欧洲成人性视频| 欧日韩不卡在线视频| 北条麻妃一区二区三区中文字幕| 中文字幕亚洲综合| 日韩午夜在线视频| 国产精品高潮呻吟久久av野狼| 久久久www成人免费精品| 亚洲va国产va天堂va久久| 国产日韩欧美在线视频观看| 久久久久99精品久久久久| 国产精品中文字幕久久久| 亚洲免费视频一区二区| 欧美成年人在线观看| 亚洲人成在线播放| 日韩在线观看免费全集电视剧网站| 日韩电影免费在线观看| 亚洲图片欧美午夜| 国产精品久久久久久久久久久久久| 久久综合久久88| 91国产一区在线| 午夜精品99久久免费| 日本午夜精品理论片a级appf发布| x99av成人免费| 精品人伦一区二区三区蜜桃免费| 欧美一级片在线播放| 中文字幕av一区二区三区谷原希美| 国产精品99免视看9| 91久久精品美女高潮| 国产亚洲精品成人av久久ww| 精品久久久久久中文字幕大豆网| 日韩欧美成人网| 日韩精品视频在线免费观看| 欧美日韩激情网| 欧美另类xxx| 亚洲美女精品成人在线视频| 久久久久久久久久久网站| 91黑丝高跟在线| 欧美亚洲伦理www| 欧美黄色性视频| 欧美整片在线观看| 日韩av男人的天堂| 精品久久久久久久久久国产| 亚洲第一福利视频| 亚洲精品久久久久中文字幕二区| 国产这里只有精品| 久久精品亚洲热| 亚洲国产精品99| 亚洲黄色在线观看| 日本精品视频在线播放| 91精品视频一区| 欧美日韩中文字幕在线视频| 久久久天堂国产精品女人| 国产亚洲精品高潮| 日韩av在线播放资源| 亚洲激情视频网| 欧美极品欧美精品欧美视频| 成人综合国产精品| 九色91av视频| 久久精品国产精品| 日韩在线精品视频| 日本不卡免费高清视频| 国产精品三级在线| 亚洲国产婷婷香蕉久久久久久| 国产精品一区二区久久久| 日韩高清a**址| 欧美日韩午夜视频在线观看| 成人av电影天堂| 久久在精品线影院精品国产| 精品久久久久久久久久国产| 伊人激情综合网| 国产精品影院在线观看| 热久久免费视频精品| 精品久久久久久亚洲精品| 国产精品普通话| 超碰日本道色综合久久综合| 国外成人免费在线播放| 久久久久这里只有精品| 91精品国产成人www| 久久久久久av| 不卡av电影院| 欧美电影院免费观看| 欧美夜福利tv在线| 久久av红桃一区二区小说| 精品福利樱桃av导航| 久久精品国产综合| 国产欧美日韩中文字幕在线| 国产在线视频91| 久久久久久亚洲精品| 成人午夜一级二级三级| 日韩免费高清在线观看| 国产精品日韩在线观看| 亚洲精品久久久久中文字幕欢迎你| 亚洲福利在线看| 久久久999精品| 成人网在线免费看| 亚洲精品欧美日韩专区| 日韩美女视频在线观看| 欧美日韩国产成人在线| 另类天堂视频在线观看| 成人av色在线观看| 国产欧美久久久久久| 精品久久久久久久久久| 精品视频—区二区三区免费| 国产不卡一区二区在线播放| 视频在线一区二区| 日韩福利在线播放| 91精品国产成人| 精品国产乱码久久久久久天美| 中文字幕日韩精品在线观看| 曰本色欧美视频在线| 亚洲成人在线视频播放| 91青草视频久久|