码迷,mamicode.com
首页 > Web开发 > 详细

php 设计模式-观察者模式

时间:2014-11-18 23:03:50      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:blog   io   ar   使用   for   div   on   log   cti   

刚刚研究完观察者设计模式,yii2随处用到的东西,记录竟总结一下,可能印象会更深一些

/**
 * 观察者模式
 */
 
class Father{
    private $_observers = array();
 
    public function register($sub){ /*  注册观察者 */
        $this->_observers[] = $sub;
    }
 
     
    public function trigger(){  /*  外部统一访问    */
        if(!empty($this->_observers)){
            foreach($this->_observers as $observer){
                $observer->update();
            }
        }
    }
}
 
/**
 * 观察者要实现的接口
 */
interface Observerable{
    public function update();
}
 

//实际用到时
class Subscriber implements Observerable{
    public function update(){
        echo ‘observers test‘;
    }
}
 
/**
 * 之后的任何类,只要继承Father 就可以使用观察者模式
 */
class sun extends Father{

}

$test = new sun;
$test->register(new Subscriber);
$test->trigger();

  

php 设计模式-观察者模式

标签:blog   io   ar   使用   for   div   on   log   cti   

原文地址:http://www.cnblogs.com/zper/p/4106081.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!