时间:2021-07-01 10:21:17 帮助过:17人阅读
<?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();相关推荐:
JavaScript观察者模式实例详解
NodeJS单例模式,适配器模式,装饰模式,观察者模式总结
详解PHP设计模式之观察者模式
以上就是PHP观察者模式的实现代码的详细内容,更多请关注Gxl网其它相关文章!