首页 > 代码库 > php观察者模式
php观察者模式
<?php //定义接口,观察者统一的方法,便于subject调用通知 interface Observerable { public function update(); } //定义观察者1 class Observer1 implements Observerable { public function update() { echo "我是观察者1"; } } //定义观察者2 class Observer2 implements Observerable { public function update() { echo "我是观察者2"; } } // 主题,被观察的目标 class Subject { private $observer_list = array(); // 注册观察者 public function reg_observer($observer) { if(!in_array($observer,$this->observer_list)) { $this->observer_list[] = $observer; } } // 向观察者发送消息,告诉它主题有改变 public function notify() { if(!empty($this->observer_list)) { foreach($this->observer_list as $ob) { $ob->update(); } } } } $ob1 = new Observer1(); $ob2 = new Observer2(); $subj = new Subject(); // 注册观察者 $subj->reg_observer($ob1); $subj->reg_observer($ob2); // 向观察者推送消息 $subj->notify();
php观察者模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。