• 技术文章 >后端开发 >php教程

    php观察者模式入门例子

    2016-07-25 08:52:08原创475
    1. class DemoSubject implements SplSubject{
    2. private $observers, $value;
    3. public function __construct(){
    4. $this->observers = array();
    5. }
    6. public function attach(SplObserver $observer){
    7. $this->observers[] = $observer;
    8. }
    9. public function detach(SplObserver $observer){
    10. if($idx = array_search($observer, $this->observers, true)){
    11. unset($this->observers[$idx]);
    12. }
    13. }
    14. public function notify(){
    15. foreach($this->observers as $observer){
    16. $observer->update($this);
    17. }
    18. }
    19. public function setValue($value){
    20. $this->value = $value;
    21. $this->notify();
    22. }
    23. public function getValue(){
    24. return $this->value;
    25. }
    26. }
    27. class DemoObserver implements SplObserver{
    28. public function update(SplSubject $subject){
    29. echo 'The new value is '. $subject->getValue();
    30. }
    31. }
    32. $subject = new DemoSubject();
    33. $observer = new DemoObserver();
    34. $subject->attach($observer);
    35. $subject->setValue(5);
    复制代码


    php入门到就业线上直播课:查看学习

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:php观察者模式入门例子
    上一篇:php的call_user_func_array()函数用法一例 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 你知道如何用PHP实现多进程吗• PHP与MySQL连接的方法总结• 工具包分享:PHP实现滑块验证图片• php实现mysql数据库分表分段备份_php实例• 找到一个编辑器,但是不知道来得到里面的值!求解解决方案
    1/1

    PHP中文网