您好,欢迎访问一九零五行业门户网

php观察者模式入门例子

class demosubject implements splsubject{    private $observers, $value;     public function __construct(){        $this->observers = array();    }     public function attach(splobserver $observer){        $this->observers[] = $observer;    }     public function detach(splobserver $observer){        if($idx = array_search($observer, $this->observers, true)){            unset($this->observers[$idx]);        }    }     public function notify(){        foreach($this->observers as $observer){            $observer->update($this);        }    }     public function setvalue($value){        $this->value = $value;        $this->notify();    }     public function getvalue(){        return $this->value;    }} class demoobserver implements splobserver{    public function update(splsubject $subject){        echo 'the new value is '. $subject->getvalue();    }} $subject = new demosubject();$observer = new demoobserver();$subject->attach($observer);$subject->setvalue(5);
复制代码
其它类似信息

推荐信息