本文实例讲述了php观察者模式定义与用法。分享给大家供大家参考,具体如下:
我理解的观察者模式就是,当我们触发一个事件的时候,想要把这个操作告诉给我想要告诉的对象,让他们都执行这个操作,就是将他们绑定到这个事件下。
1.定义一个基类(用于添加观察者也就是我想要通知的对象,还有通知观察者)
eventgenerator.php
<?phpabstract class eventgenerator{ //存储观察者,因为可以有多个要通知的对象,所以是一个数组 private $obrvers = array(); //添加观察者,也就是我想要通知的对象 public function addobrver($obrver) { $this->obrvers[] = $obrver; } //通知观察者 public function notify() { //取出所有的对象去执行操作 for长笑话each($this->obrvers as $obrver) { //这里我写一个update方法,这里就要求我所有的通知对象必须要有update操作,所以一会我会定义一个借口,让所有的观察者强制实现这个方法 $obrver->update(); } }}?>
定义接口文件,让所有观察者实现update方法obrver.php
<?phpinterface obrver{ function updat咏物言志诗e();}?>
定义吃方便面的危害实现观察者模式的文件event.php
<?phpheader('content-type:text/html;chart=utf-8');define('badir', __dir___);require 'config.php';spl_autoload_register('config::autoload');//定义事件类继承基类class event extends eventgenerator{ //当触发这个事件的时候通知所有的观察者 public function trigger() { echo '我要开始更新了啊!<br/>\n'; //基类的通知方法 $this->notify(); }}//添加观察者1class obrver1 implements obrver{ public function update() { echo '我是观察者1,我收到你的通知了!我要干我该干的了!<br/>\n'; }}//添加观察者2class obrver2 implements obrver{ public function update() { echo '我是观察者2,我收到你的通知了!我要干我该干的了!<br/>\n'; }}//下面就要开始测试了!$event = new event();//添加观察者到这个事件里$event->addobrver(new obrver1);$event->addobrver(new ob北京游玩rver2);//执行trigger操作$event->trigger();//这时候就会显示!//我要开始更新了啊心情短语!//我是观察者1,我收到你的通知了!我要干我该干的了!//我是观察者2,我收到你的通知了!我要干我该干的了!?>
更多关于php相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《php数组(array)操作技巧大全》、《php基本语法入门教程》、《php运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家php程序设计有所帮助。
本文发布于:2023-04-07 11:26:59,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/6e303d7de313ae44ff3622b32ab6b20c.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:PHP观察者模式定义与用法实例分析.doc
本文 PDF 下载地址:PHP观察者模式定义与用法实例分析.pdf
留言与评论(共有 0 条评论) |