国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP實現事件機制的方法

2024-05-04 23:37:40
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了PHP實現事件機制的方法,實例分析了php針對事件機制的定義與實現技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了PHP實現事件機制的方法。分享給大家供大家參考。具體如下:

 

 
  1. <?php 
  2. /** 
  3. * 事件 
  4. */ 
  5. class Event { 
  6. private $callbacks = array(); 
  7. private $holder
  8. function __construct() { 
  9. $bt = debug_backtrace(); 
  10. if (count($bt) < 2) { 
  11. $this->holder = null; 
  12. return
  13. $this->holder = &$bt[1]['object']; 
  14. function attach() { 
  15. $args = func_get_args(); 
  16. switch (count($args)) { 
  17. case 1: 
  18. if (is_callable($args[0])) { 
  19. $this->callbacks[]= $args[0]; 
  20. return
  21. break
  22. case 2: 
  23. if (is_object($args[0]) && is_string($args[1])) { 
  24. $this->callbacks[]= array(&$args[0], $args[1]); 
  25. return
  26. default
  27. return
  28. function notify() { 
  29. $bt = debug_backtrace(); 
  30. if ($this->holder &&  
  31. ((count($bt) >= 2 && $bt[count($bt) - 1]['object'] !== $this->holder) 
  32. || (count($bt) < 2))) { 
  33. throw(new Exception('Notify can only be called in holder')); 
  34. foreach ($this->callbacks as $callback) { 
  35. $args = func_get_args(); 
  36. call_user_func_array($callback$args); 

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 呈贡县| 伊春市| 桐城市| 磴口县| 陆良县| 杭锦后旗| 白银市| 邵阳市| 蒲城县| 乌兰浩特市| 北票市| 柘荣县| 辽中县| 广宗县| 游戏| 景洪市| 虹口区| 朝阳区| 宁安市| 肥城市| 定襄县| 墨竹工卡县| 桂东县| 剑河县| 穆棱市| 姜堰市| 奎屯市| 和龙市| 永泰县| 泗阳县| 海淀区| 精河县| 湘乡市| 运城市| 桃园县| 东阳市| 尚志市| 巍山| 绥滨县| 手机| 贡觉县|