首页 > 代码库 > php实现观察者模式
php实现观察者模式
<meta charset=‘utf-8‘ /> <title>观察者模式</title> <?php class Tongzhi implements SPLSubject { protected $subs = array(); public $username = ‘我是被观察者‘; public function __construct(){ } public function attach(SPLObserver $sub){ $this->subs[] = $sub; } public function detach(SPLObserver $sub){ $keys = array_keys($this->subs,$sub); $key = $keys[0]; unset($this->subs[$key]); } public function notify(){ foreach ($this->subs as $value) { $value->update($this); } } } class Obs1 implements SPLObserver { public function update(SPLSubject $tz){ echo $tz->username.‘,我是观察者1<br />‘; } } class Obs2 implements SPLObserver { public function update(SPLSubject $tz){ echo $tz->username.‘,我是观察者2<br />‘; } } class Obs3 implements SPLObserver { public function update(SPLSubject $tz){ echo $tz->username.‘,我是观察者3<br />‘; } } $tz = new Tongzhi; $tz->attach(new Obs1); $tz->attach(new Obs2); $tz->detach(new Obs2); $tz->attach(new Obs3); $tz->notify(); ?>
php实现观察者模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。