单例序列化
2022/6/6 23:20:35
本文主要是介绍单例序列化,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
经典的单例模式代码如下
class Singleton { private static $instance; // 防止外部实例化 private function __construct(){} // 防止克隆 private function __clone(){} // 防止 serialize private function __sleep(){} // 防止 unserialize private function __wakeup(){} public function getInstance() { if (self::$instance == null) { self::$instance = new self; } return self::$instance; } }
如果希望能够序列化,需要如下改动
class Singleton { private static $instance; // 防止外部实例化 private function __construct(){} // 防止克隆 private function __clone(){} // 反序列化后反馈该对象 private function __wakeup() { self::$instance = $this; } public function getInstance() { if (self::$instance == null) { self::$instance = new self; } return self::$instance; } }
参考
- https://www.laruence.com/2011/03/18/1909.html
- https://www.laruence.com/2011/03/18/1916.html
这篇关于单例序列化的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-29DataGrip使用ssh连接数据库的操作流程
- 2024-05-28SpringBoot3.2更新声明!
- 2024-05-28中外程序员到底有啥区别?
- 2024-05-25外企也半夜发布上线吗?
- 2024-05-24鸿蒙原生应用再新丁!芒果TV 入局鸿蒙
- 2024-05-22基本概念
- 2024-05-22检索数据
- 2024-05-22排序数据
- 2024-05-22基础过滤数据
- 2024-05-22通过逻辑操作符过滤数据