成都网站建设设计

将想法与焦点和您一起共享

PHP中观察者模式的原理和应用

这篇文章主要介绍“PHP中观察者模式的原理和应用”,在日常操作中,相信很多人在PHP中观察者模式的原理和应用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP中观察者模式的原理和应用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

目前创新互联公司已为近1000家的企业提供了网站建设、域名、雅安服务器托管、网站托管、服务器托管、企业网站设计、余干网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

观察者:

它是一种事件系统,意味着这一模式允许某个类观察另一一个类的状态,当被观察的类状态发生改变的时候,观察类可以收到通知并且做出相应的动作;观察者模式提供了避免组件之间紧密耦合的另一种方法;

我们还是以代码为例,我们新建一个文件,然后定义一个类,然后在类里面写入一个成员属性,他是一个数组用来存放观察者,紧接着我们在定义一个方法,这个方法是用来存放观察者和添加观察者的,当被观察者做出行为的时候,让观察者得到通知,并且做出一定反应,代码为例:

observers[]=$observer;
}
//花钱方法
function buy()
{
//当被观察者做出这个行为的时候,让观察者得到通并且做出一-定的反应
foreach ($this->observers as $girl) {
  $girl->pome();
}
}
}
class GirlFriend
{
function pome()
{
echo'我只明白一件事,爱一个人,是那么痛苦';
}
}
//创建对象
$xiaoming = new Man();
$xiaohua =new GirlFriend();
$xiaoli = new GirlFriend();
//添加观察者
$xiaoming->addObserver( $xiaohua); 
$xiaoming->addObserver($xiaoli);
$xiaoming->buy();

运行结果如下:

PHP中观察者模式的原理和应用

有添加观察者这样一个方法,那就有删除观察者的方法,因此我们还要添加一个删除观察者的方法,

function delObserver($observer)
{
//查找对应值在数组中的键
$key = array_search($observer,$this->observers);
//根据键删除值,并且数组重新索引
array_splice($this->observers, $key, 1);
}
}

//删除

$xiaoming->delObserver( $xiaohua);

代码如下:

PHP中观察者模式的原理和应用

到此,关于“PHP中观察者模式的原理和应用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


本文标题:PHP中观察者模式的原理和应用
网页URL:http://chengdu.cdxwcx.cn/article/jeioos.html