_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
'; } } class read implements obserable{ public function update(){ echo 'now first time you need to read
'; } } class speak implements obserable{ public function update(){ echo 'now first time you need to speak
'; } } class write implements obserable{ public function update(){ echo 'now first time you need to write
'; } } $transfer = new transfer(); $transfer->register(new listen()); $transfer->register(new read()); $transfer->register(new speak()); $transfer->register(new write()); $transfer->trigger();
http://www.bkjia.com/phpjc/983246.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/983246.htmltecharticle观察者模式,观察者模式类图 观察者模式 ? php // 定义观察者调用接口 class transfer{ protected $_observers = array (); // 注册对象 public function regis...
