当前位置:首页 > 日记 > 正文

PHP观察器模式原理和简单实现方法的示例

PHP观察器模式原理和简单实现方法的示例
本文介绍了PHP观察器的模型原理和简单实现方法,供大家参考,如下:

当一个对象的状态改变,从而影响其他物体的变化,并观察者模式可以用在这个时候。应用如WordPress,这是开发组开发的插件外,如用户授权,整体博客统计插件插件,可用于登记的观察者模式,这些插件,当用户发布一篇博客文章,会自动通知相应的插件更新。

该观测器模式符合接口隔离原理,实现了对象之间的松耦合。

观察者模式UML图:
的splsubject和sqloberver接口已在PHP SPL提供
接口splsubject
{
功能的高度(splobserver $观察);
功能分离(splobserver $观察);
函数通知();
}
接口sqlobserver
{
功能更新(splsubject $);
}

下面的示例是具体实现的
类主体splsubject
{
私人观察员;
公共功能的高度(splobserver $观察)
{
如果(!in_array($美元->观察员,观察员)){
$ $ >观察员;
}
}
公共职能分离(splobserver $观察)
{
如果(假)!=(美元指数= array_search($美元->观察员,观察员)){
unset(美元->观察员{ $指数});
}
}
公共职能岗位()
{
与邮政相关的代码
$ $ >通知();
}
私有函数(通知)
{
foreach(美元美元->观察员Observer){
观察者> >更新($此);
}
}
公共功能setcount(美元计算)
{
返回数据量。$计数;
}
公共功能setintegral(元整)
{
积分加。$积分;
}
}
observer1 splobserver类实现
{
公共功能更新($主题)
{
$(1)-> setcount;
}
}
observer2 splobserver类实现
{
公共功能更新($主题)
{
$(10)-> setintegral;
}
}
类的客户
{
公共功能测试()
{
主语=新主语();
$ ->附加(新observer1());
$ ->附加(新observer2());
($主题> POST);输出:1点加10的数据量
}
}

更多有关PHP相关内容的感兴趣的读者可以查看主题:PHP面向对象编程教程

希望本文能对PHP程序设计有所帮助。

相关文章

如何屏蔽广告关闭iMessages(溶液)

如何屏蔽广告关闭iMessages(溶液)

屏蔽,溶液,广告,电脑软件,iMessages,问题: 苹果手机用户可以发送免费短信和即时信息,这是非常方便的,但即时信息广告很无聊。有什么方法可以去除广告屏幕或即时信息例如:关键词。 答案uff1a 有没有办法屏蔽的关键词,但可以在设置- > >的通知;信…

jQueryEasyUI美元。分析器

jQueryEasyUI美元。分析器

美元,分析器,电脑软件,jQueryEasyUI,解析器(解析器) 对象的属性和方法: 使用uff1a parser.auto =假美元; parser.plugins = { 美元。 parser.oncomplete =美元。 函数(){ 警报(); }; $(函数(){()) 美元。parser.parse(# divnorth ); 以上是jQuery EasyUI $…

PS画炫酷质感的拟物化跑车教程

PS画炫酷质感的拟物化跑车教程

教程,质感,跑车,电脑软件,PS,复制这项工作,首先,我们应该分析这幅画。感觉真的看到车,但在窗口对象是一个例证。汽车的灯光和明暗的分析发现,除了从前面的一个主要的光源,为了突出汽车纹理和添加有很多辅助光,也就是说当添加效果可以有很多层次。…

PS图象处理软件很快将漫画为粉笔画

PS图象处理软件很快将漫画为粉笔画

处理软件,漫画,画图,图象,电脑软件,设计素描 uff1a 主要过程: 1。将背景黑板材料和漫画材料拖动到PS中 右键单击漫画层,并将其转换为智能对象,以方便我们以后的操作。 2、点击滤镜-风格化-查找边缘 先画出材料的轮廓。 三.下一步,我们反转材…

PS滤镜创建抽象艺术玫瑰

PS滤镜创建抽象艺术玫瑰

滤镜,抽象,艺术,电脑软件,PS,今天教你用PS中的过滤器制作抽象艺术Rose,希望对你有所帮助!首先看看下面的效果: PS滤镜创建抽象艺术玫瑰 效果图: 1。建立一个新文件650times;450像素,填充背景为黑色。 2、前景颜色设置为白色,选择画笔工具绘制新…

WPS表如何将多列数据合并到一列WPS

WPS表如何将多列数据合并到一列WPS

数据,多列,合并,多个,如何将,当我们使用excel做办公室工作时,有时会遇到我们需要把多个数据列合并成一列的情况。我们如何做到这一点萧边教你使用WPS表格公式合并成一列的多个列的数据。欢迎阅读。 用WPS表格公式法将多列数据合并成一列 …

如何查看k证书是否在IE浏览器的存

如何查看k证书是否在IE浏览器的存

区域,浏览器,证书,注册,电脑软件,本文主要介绍和验证中国农业银行的K宝证书在IE浏览器存储区注册,及检查方法如下。 打开IE浏览器,依次指向Internet工具选项证书;(参见下文),检查您的K证书到IE商店是否已经注册。 如果证书存储没有证书,请卸载当…

打开玻璃(航空)在赢10没有模糊效果(解

打开玻璃(航空)在赢10没有模糊效果(解

解决方案,模糊,航空,效果,玻璃,问题: 一些安装赢10系统用户,使航空实现毛玻璃效果,虽然具有集;颜色;启用对话框;开始菜单和任务栏透明运行中心的只是普通的半透明效果后,并没有影响磨砂玻璃模糊。 答案uff1a 为了真正认识到玻璃的模糊性,应该对登…

冬季雪中的ps合成

冬季雪中的ps合成

雪中,冬季,电脑软件,ps,效果图中使用的材料相对较少,只有背景、文字和装饰材料。背景设置后,可以简单地调色,然后添加字符并在角色的手上添加蓝色火焰。最后,调整人物和阴影,并在当地添加一些装饰材料。 最终效果 材料的收集: 1,新画布,大小如下。 …

如何更改QQ提示电话语音提示/QQ提

如何更改QQ提示电话语音提示/QQ提

提示,语音,解决方案,如何更改,电话,问题: 同事经常用手机QQ。当微信和朋友发短信,他们也没发现谁的手机。如果他们想知道手机QQ提示是否可以更改, 答案uff1a 如果您正在使用Android手机,将提示键入系统;注意音调;然后,在移动电话;语音设置中;接口…

Oracle触发器表更改了触发器不能读

Oracle触发器表更改了触发器不能读

触发器,读取,解决方案,改了,电脑软件,原因是表与更新表和读取表相同。 创建触发器t_userupdatet在t_user引用旧更新之前 声明u_xtfidemp1 varchar(36); u_xtempcode1 varchar(20); u_xtempcodecount int:= 0; u_xtfidempcount int:= 0; u_id1 int:= 0; …

PS是如何制作黑白的颓废海报

PS是如何制作黑白的颓废海报

颓废,海报,黑白,电脑软件,PS,PS制图能力强,可以做一些海报,今天萧边分享一个PS黑白海报的颓废的人,颓废的海报似乎有些材料叠加,但包含许多细节和纹理的处理方法。很多材料需要精心组合,不仅有一定的艺术感,也能更好的衬的主题。在教程刷部分不下…