您好,欢迎访问一九零五行业门户网

PHP实现事件机制实例分析,php事件实例分析_PHP教程

php实现事件机制实例分析,php事件实例分析本文实例讲述了php实现事件机制的方法。分享给大家供大家参考。具体分析如下:
内置了事件机制的语言不多,php也没有提供这样的功能。事件(event)说简单了就是一个observer模式,实现起来很容易。但是有所不同的是,事件的监听者谁都可以加,但是只能由直接包含它的对象触发。这就有一点点难度了。php有一个debug_backtrace函数,可以得到当前的调用栈,由此可以找到判断调用事件触发函数的对象是不是直接包含它的对象的办法。
holder = &$bt[1]['object']; } function attach() { $args = func_get_args(); switch (count($args)) { case 1: if (is_callable($args[0])) { $this->callbacks[]= $args[0]; return; } break; case 2: if (is_object($args[0]) && is_string($args[1])) { $this->callbacks[]= array(&$args[0], $args[1]); } return; default: return; } } function notify() { $bt = debug_backtrace(); if ($this->holder && ((count($bt) >= 2 && $bt[count($bt) - 1]['object'] !== $this->holder) || (count($bt) callbacks as $callback) { $args = func_get_args(); call_user_func_array($callback, $args); } }}
希望本文所述对大家的php程序设计有所帮助。
http://www.bkjia.com/phpjc/1022778.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/1022778.htmltecharticlephp实现事件机制实例分析,php事件实例分析 本文实例讲述了php实现事件机制的方法。分享给大家供大家参考。具体分析如下: 内置了事件...
其它类似信息

推荐信息