首 页 | 模 板 | 学 院 | 源 码 | 书 籍 | 壁 纸 | 字 体 | JS脚本 | FLASH源码 | 软 件 | 矢 量 | 服务器软件 | 素 材 | 其 它 |
设为主页
加入收藏
联系站长
平面设计 | 网页制作 | 程序编写 | 数 据 库 | 媒体动画 | 网络冲浪 | 服务器相关 | 站长乐园 | 业界动态 |
当前在线
实用:JAVA事件模式下PHP如何实现
2006-11-29 16:42:41  作者:模板天下收集整理  来源:未知 网友评论 0 条 论坛
  

让我们来创建一个简单的用于产生事件并且同时进行监听的类。听起来满困难的,但是却是常被使用的技术
interface MyEventListener {
function onMyEvent(EventObject $event);
}

class MyClass implements MyEventListener {

protected $listeners;

function __construct() {
$this->listeners = new ListenerList();
$this->addMyEventListener($this);
}

function addMyEventListener(MyEventListener $listener) {
$this->listeners->add($listener);
}

function work() {
echo "Working!\n";
$this->fireMyEvent();
echo "Working!\n";
$this->fireMyEvent();
echo "Working!\n";
}

protected function fireMyEvent() {
$event = new EventObject($this);
foreach ($this->listeners->getRaw() as $listener) {
$listener->onMyEvent($event);
}
}

function onMyEvent(EventObject $event) {
echo "Taking short break...\n";
}

}

$object = new MyClass();
$object->work();
// Will print:
// Working!
// Taking short break...
// Working!
// Taking short break...
// Working!

使用事件描述模式,可以增进你的代码的稳定性,但是要注意的是他要在你的代码中添加很多接口和事件类,这样比没使用前执行要慢。

共分4页  [1] [2] [3] [4] 

>> 相关文章

关于网站 | 客服中心 | 服务条款 | 友情链接 | 广告联系 | 本站历程 | 网站导航

吉ICP备05000107号