程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php中的設計模式之--觀察者模式

php中的設計模式之--觀察者模式

編輯:關於PHP編程

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(); // 主題變化,通知觀察者


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved