|
本文主要和大家介绍PHP实现的观察者模式,结合具体实例形式分析了php观察者模式的定义与使用方法,需要的朋友可以参考下,希望能帮助到大家。
<?php
//定义观察者调用接口
class transfer{
protected $_observers = array();
//注册对象
public function register($sub){
$this->_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<br/>';
}
}
class read implements obserable{
public function update(){
echo 'now first time you need to read<br/>';
}
}
class speak implements obserable{
public function update(){
echo 'now first time you need to speak<br/>';
}
}
class write implements obserable{
public function update(){
echo 'now first time you need to write<br/>';
}
}
$transfer = new transfer();
$transfer->register(new listen());
$transfer->register(new read());
$transfer->register(new speak());
$transfer->register(new write());
$transfer->trigger(); |