php观察者模式(observer pattern)
...
<?php
/*
The observer pattern implements a one-too-many dependency between objects. The
object that holds the list of dependencies is called subject, while the dependents are
called observers. When the subject object changes state, all of the dependents are
notified and updated automatically.
*/
class Customer implements \SplSubject {
    protected $data = array();
    protected $observers = array();
    public function attach(\SplObserver $observer) {
        $this->observers[] = $observer;
    }
    public function detach(\SplObserver $observer) {
        $index = array_search($observer, $this->observers);
        if ($index !== false) {
            unset($this->observers[$index]);
        }
    }
    public function notify() {
        foreach ($this->observers as $observer) {
            $observer->update($this);
            echo 'Customer_observer updated.<br/>';
        }
    }
    public function __set($name, $value) {
        $this->data[$name] = $value;
        $this->notify();
    }
}
class CustomerObserver implements \SplObserver {
    public function update(\SplSubject $subject) {
        echo "CustomerObserver_update.<br/>";
    }
}
$user = new Customer;
$customerObserver = new CustomerObserver();
$user->attach($customerObserver);
$user->name = 'John Doe';
$user->email = 'john.doe@fake.com';
?>

php观察者模式(observer pattern)的更多相关文章
- 设计模式 - 观察者模式(Observer Pattern) 详细说明
		
观察者模式(Observer Pattern) 详细说明 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26583157 版权全部 ...
 - 乐在其中设计模式(C#) - 观察者模式(Observer Pattern)
		
原文:乐在其中设计模式(C#) - 观察者模式(Observer Pattern) [索引页][源码下载] 乐在其中设计模式(C#) - 观察者模式(Observer Pattern) 作者:weba ...
 - 设计模式 - 观察者模式(Observer Pattern) 详细解释
		
观察者模式(Observer Pattern) 详细解释 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26583157 版权全部 ...
 - 设计模式-观察者模式(Observer Pattern)
		
观察者模式(Observer Pattern):定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象.这个主题对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己. 观察者 ...
 - jQuery中的观察者模式(Observer Pattern)
		
在jQuery中,on方法可以为元素绑定事件,trigger方法可以手动触发事件,围绕这2个方法,我们来体验jQuery中的观察者模式(Observer Pattern). ■ on方法绑定内置事件, ...
 - 设计模式 - 观察者模式(Observer Pattern) Java内置 用法
		
观察者模式(Observer Pattern) Java内置 用法 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26601659 ...
 - 二十四种设计模式:观察者模式(Observer Pattern)
		
观察者模式(Observer Pattern) 介绍定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新. 示例有一个Message实体类,某些对象 ...
 - 使用C# (.NET Core) 实现观察者模式 (Observer Pattern) 并介绍 delegate 和 event
		
观察者模式 这里面综合了几本书的资料. 需求 有这么个项目: 需求是这样的: 一个气象站, 有三个传感器(温度, 湿度, 气压), 有一个WeatherData对象, 它能从气象站获得这三个数据. 还 ...
 - 设计模式系列之观察者模式(Observer  Pattern)
		
意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新. 主要解决:一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作 ...
 
随机推荐
- Signal ()函数用法和总结
			
void(* signal(int sig,void(* func)(int)))(int); 设置处理信号的功能 指定使用sig指定的信号编号处理信号的方法. 参数func指定程序可以处理信号的三种 ...
 - Ztree + bootstarp-table  使用
			
Ztree + bootstarp-table 使用 一. Ztree 1.引入js/css文件 Ztree官网 <!--ztree--> <link rel="sty ...
 - Linux性能优化实战学习笔记:第三十七讲
			
一.上节回顾 上一节,我带你一起学习了网络性能的评估方法.简单回顾一下,Linux 网络基于 TCP/IP协议栈构建,而在协议栈的不同层,我们所关注的网络性能也不尽相同. 在应用层,我们关注的是应用程 ...
 - [LeetCode] 670. Maximum Swap 最大置换
			
Given a non-negative integer, you could swap two digits at most once to get the maximum valued numbe ...
 - Deepin (Linux Debian)使用日记
			
(现在Deepin使用了debian的stable源,如果求新,推荐使用排行榜前三的Linux发行版——> Manjaro) 修复开启混合显卡驱动后,屏幕泛白偏灰问题“: https://blo ...
 - 第04组 Alpha冲刺(3/6)
			
队名:new game 组长博客:戳 作业博客:戳 组员情况 鲍子涵(队长) 燃尽图 过去两天完成了哪些任务 才两天,也就是实现一些功能而已 复习 接下来的计划 实现更多的功能 为下周的比赛准备 还剩 ...
 - mac sudo免密码
			
1.先切换到root用户sudo -i2.修改/etc/sudoers文件设置用户为免密码:%admin ALL = (ALL) NOPASSWD: NOPASSWD: ALL 参考:https:// ...
 - CentOS7 Git 安装
			
最新git源码下载地址: https://github.com/git/git/releases https://www.kernel.org/pub/software/scm/git/ 1 移除旧版 ...
 - SpringBoot第十七篇:定时任务
			
作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/11076555.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言 相信大家对 ...
 - Java代码质量检查checkstyle, pmd, cpd, p3c,findbugs, jacoco, sonarquebe以及和Jenkins集成
			
概述 又搞一边质量扫描插件,之前做过一遍,然后后面各种忽略,然后就放弃了,所以,应该寻找一种方法,循序渐进的实施.本次将实施一个基本的打包扫描方案,包含 checkstyle 固定团队编码风格,固定命 ...