php 观察者模式应用场景实例详解
代码
_observers as $obs ) $obs->onBuyTicketOver ( $this, $ticket ); //$this 可用来获取主题类句柄,在通知中使用 } //添加通知 public function addObserver($observer) //添加N个通知 { $this->_observers [] = $observer; } } #=========================定义多个通知==================== //短信日志通知 class HipiaoMSM implements ITicketObserver { public function onBuyTicketOver($sender, $ticket) { echo date( 'Y-m-d H:i:s' ),"短信日志记录:购票成功:$ticket
"; } } //文本日志通知 class HipiaoTxt implements ITicketObserver { public function onBuyTicketOver($sender, $ticket) { echo date('Y-m-d H:i:s'),"文本日志记录:购票成功:$ticket
"; } } //抵扣卷赠送通知 class HipiaoDiKou implements ITicketObserver { public function onBuyTicketOver($sender, $ticket) { echo date('Y-m-d H:i:s'),"赠送抵扣卷:购票成功:$ticket 赠送10元抵扣卷1张
"; } } #============================用户购票==================== $buy = new HipiaoBuy (); //根据不同业务逻辑加入各种通知 $buy->addObserver( new HipiaoMSM() ); //把短信通知类对象添加$_observers数组中 $buy->addObserver( new HipiaoTxt() ); //把文本通知类对象添加$_observers数组中 $buy->addObserver( new HipiaoDiKou() );//把赠送通知类对象添加$_observers数组中 //购票 $buy->buyTicket("一排一号");
远行结果:
2017-02-10 10:50:51 短信日志记录:购票成功:一排一号 2017-02-10 10:50:51 文本日志记录:购票成功:一排一号 2017-02-10 10:50:51 赠送抵扣卷:购票成功:一排一号 赠送 10 元抵扣卷 1 张
分享文章:分享一个PHP观察者模式的应用实例(附注释)
分享链接:http://www.mswzjz.cn/qtweb/news37/341637.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能