php教程

超轻量级php框架startmvc

PHP实现的观察者模式实例

更新时间:2020-03-21 08:23:40 作者:startmvc
本文实例讲述了PHP实现的观察者模式。分享给大家供大家参考,具体如下:<?php//定义

本文实例讲述了PHP实现的观察者模式。分享给大家供大家参考,具体如下:


<?php
 //定义观察者调用接口
 class transfer{
 protected $_observers = array();
 //注册对象
 public function register($sub){
 $this->_observers[] = $sub;
 }
 //外部统一调用
 public function trigger(){
 if(!empty($this->_observers)){
 foreach($this->_observers as $observer){
 $observer->update();
 }
 }
 }
 }
 //观察者接口
 interface obserable{
 public function update();
 }
 //实现观察者
 class listen implements obserable{
 public function update(){
 echo 'now first time you need to do listen<br/>';
 }
 }
 class read implements obserable{
 public function update(){
 echo 'now first time you need to read<br/>';
 }
 }
 class speak implements obserable{
 public function update(){
 echo 'now first time you need to speak<br/>';
 }
 }
 class write implements obserable{
 public function update(){
 echo 'now first time you need to write<br/>';
 }
 }
 $transfer = new transfer();
 $transfer->register(new listen());
 $transfer->register(new read());
 $transfer->register(new speak());
 $transfer->register(new write());
 $transfer->trigger();
PHP 观察者模式