php简单实现单态设计模式的方法分析


Posted in PHP onJuly 28, 2017

本文实例讲述了php简单实现单态设计模式的方法。分享给大家供大家参考,具体如下:

单态设计模式通常包含以下三点:

· 一个私有的 构造方法;(确保用户无法通过创建对象对其进行实例化)
· 一个公有的 静态的 方法;(负责对其本身进行实例化)
· 一个私有的 静态的 属性;(用于保存仅有的一个实例化对象)

<?php
class singleTon{
    //用于保存仅有的一个实例化对象
    private static $Instance=NULL;
    //构造方法 使用private 封装后 则只能在类的内部使用new去创建对象
    private function __construct(){};
    //只有通过这个方法才能返回本类中的对象,该方法是静态方法 用类名调用
    public static getInstance(){
       if(self::$Instance instanceof self){ //如果本类中的$Instance为空,说明还没有被实例化过
         self::$Instance=new singleTon(); //实例化本对象
       }
       return self::$Instance;
    }
}
$instance=singleTon::getInstance(); //只能使用静态方法getInstance()去获取singleTon类的对象
?>

所谓的单态设计模式就是一个类只能产生/创建唯一一个对象

要编写单态设计模式,就必须让一个类只能实例化一个对象,而要想让一个类只能实例化一个对象,就要先让一个类不能实例化对象

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
小偷PHP+Html+缓存
Dec 20 PHP
php模拟socket一次连接,多次发送数据的实现代码
Jul 26 PHP
php实现快速排序法函数代码
Aug 27 PHP
浅析php中jsonp的跨域实例
Jun 21 PHP
PHP封装的HttpClient类用法实例
Jun 17 PHP
php日期操作技巧小结
Jun 25 PHP
php实现文件预览功能
May 23 PHP
php静态成员方法和静态的成员属性的使用方法
Oct 26 PHP
PHP实现动态获取函数参数的方法示例
Apr 02 PHP
PHP 访问数据库配置通用方法(json)
May 20 PHP
php无限级分类实现评论及回复功能
Feb 18 PHP
php桥接模式应用案例分析
Oct 23 PHP
[原创]PHP实现SQL语句格式化功能的方法
Jul 28 #PHP
使用php自动备份数据库表的实现方法
Jul 28 #PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
Jul 27 #PHP
PHP 7安装使用体验之性能大提升,兼容性强,扩展支持不够(升级PHP要谨慎)
Jul 27 #PHP
laravel 5.4中实现无限级分类的方法示例
Jul 27 #PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
Jul 27 #PHP
PHP实现的Redis多库选择功能单例类
Jul 27 #PHP
You might like
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
PHP实现微信小程序用户授权的工具类示例
2019/03/05 PHP
php实现分页功能的详细实例方法
2019/09/29 PHP
JS.GetAllChild(element,deep,condition)使用介绍
2013/09/21 Javascript
将两个div左右并列显示并实现点击标题切换内容
2013/10/22 Javascript
JavaScript中的继承方式详解
2015/02/11 Javascript
js实现透明度渐变效果的方法
2015/04/10 Javascript
ECMAScript6块级作用域及新变量声明(let)
2015/06/12 Javascript
jQuery实现的网页右下角tab样式在线客服效果代码
2015/10/23 Javascript
快速掌握jQuery插件开发
2017/01/19 Javascript
简单实现js悬浮导航效果
2017/02/05 Javascript
Jil,高效的json序列化和反序列化库
2017/02/15 Javascript
微信小程序如何获知用户运行小程序的场景教程
2017/05/17 Javascript
使用Require.js封装原生js轮播图的实现代码
2017/06/15 Javascript
JS随机排序数组实现方法分析
2017/10/11 Javascript
在vue中使用echarts图表实例代码详解
2018/10/22 Javascript
我所理解的JavaScript中的this指向
2020/09/04 Javascript
编写Python的web框架中的Model的教程
2015/04/29 Python
Python创建xml文件示例
2017/03/22 Python
python实现图片文件批量重命名
2020/03/23 Python
python读取并定位excel数据坐标系详解
2019/06/26 Python
python中pip的使用和修改下载源的方法
2019/07/08 Python
TensorBoard 计算图的查看方式
2020/02/15 Python
jenkins+python自动化测试持续集成教程
2020/05/12 Python
用python制作个音乐下载器
2021/01/30 Python
使用CSS变量实现炫酷惊人的悬浮效果
2019/04/26 HTML / CSS
最新自我评价范文
2013/11/16 职场文书
写给女朋友的道歉信
2014/01/08 职场文书
社区端午节活动方案
2014/01/28 职场文书
小学毕业感言50字
2014/02/16 职场文书
领导班子四风表现材料
2014/08/23 职场文书
介绍信怎么写
2015/01/30 职场文书
员工开除通知书
2015/04/25 职场文书
MySQL窗口函数的具体使用
2021/11/17 MySQL
Z-Order加速Hudi大规模数据集方案分析
2022/03/31 Servers
【海涛教你打DOTA】黑鸟第一视角解说
2022/04/01 DOTA