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

php中的设计模式之观察者模式

observers[] = $observer ; } // 删除观察者 (看花的人) public function detach(observer $observer){ if(in_array($observer,$this->observers)){ $index = array_search($observer, $this->observers); unset($this->observers[$index]); return true; } return false; } // 向观察者(们)发出通知 public function notify(){ foreach($this->observers as $observer){ $observer->dosometing(); } } }// 具体的人 class loveflowerperson implements observer{ private $name ; function __construct($sname){ $this->name =$sname ; } public function dosometing(){ echo $this->name.'浇花 '; } }/* 添加第一个观察者花农 */$subject = new flower();$observer1 = new loveflowerperson('wlt');$subject->attach($observer1);/* 添加第二个观察者花农 */
$observer2 = new loveflowerperson('wlb');$subject->attach($observer2);$subject->notify(); // 主题变化,通知观察者echo '删除掉一个花农
'; $subject->detach($observer2);$subject->notify(); // 主题变化,通知观察者
其它类似信息

推荐信息