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和ACCESS写聊天室(二)
Oct 09 PHP
PHP XML备份Mysql数据库
May 27 PHP
PHP中实现汉字转区位码应用源码实例解析
Jun 14 PHP
在yii中新增一个用户验证的方法详解
Jun 20 PHP
PHP包含文件函数include、include_once、require、require_once区别总结
Apr 05 PHP
php使用百度ping服务代码实例
Jun 19 PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
Nov 14 PHP
php二维码生成
Oct 19 PHP
讲解WordPress开发中一些常用的debug技巧
Dec 18 PHP
PHP实现websocket通信的方法示例
Aug 28 PHP
php实现微信公众号企业转账功能
Oct 01 PHP
浅谈PHP array_search 和 in_array 函数效率问题
Oct 15 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
COM in PHP (winows only)
2006/10/09 PHP
浅析application/x-www-form-urlencoded和multipart/form-data的区别
2014/06/22 PHP
PHP批量生成图片缩略图的方法
2015/06/18 PHP
PHP对文件夹递归执行chmod命令的方法
2015/06/19 PHP
PHP将页面中点击数量高的链接进行高亮显示的方法
2016/05/30 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
2018/06/16 PHP
PHP笛卡尔积实现算法示例
2018/07/30 PHP
解决Laravel自定义类引入和命名空间的问题
2019/10/15 PHP
js监听输入框值的即时变化onpropertychange、oninput
2011/07/13 Javascript
JQuery事件e参数的方法preventDefault()取消默认行为
2013/09/26 Javascript
浅析Javascript使用include/require
2013/11/13 Javascript
js快速排序的实现代码
2013/12/08 Javascript
浅谈JSON和JSONP区别及jQuery的ajax jsonp的使用
2014/11/23 Javascript
Underscore源码分析
2015/12/30 Javascript
javascript下使用Promise封装FileReader
2016/02/19 Javascript
jquery自适应布局的简单实例
2016/05/28 Javascript
JavaScript实现邮箱地址自动匹配功能代码
2016/11/28 Javascript
详解Vue 动态添加模板的几种方法
2017/04/25 Javascript
微信小程序canvas绘制圆角base64图片的实现
2019/08/18 Javascript
在vue中使用防抖和节流,防止重复点击或重复上拉加载实例
2019/11/13 Javascript
python对象及面向对象技术详解
2016/07/19 Python
详解使用python crontab设置linux定时任务
2016/12/08 Python
python交互式图形编程实例(一)
2017/11/17 Python
OpenCV-Python实现轮廓检测实例分析
2018/01/05 Python
Python enumerate函数功能与用法示例
2019/03/01 Python
使用Python画出小人发射爱心的代码
2019/11/23 Python
pytorch对梯度进行可视化进行梯度检查教程
2020/02/04 Python
python学习之使用Matplotlib画实时的动态折线图的示例代码
2021/02/25 Python
建筑专业毕业生推荐信
2013/11/21 职场文书
新入职员工的自我介绍演讲稿
2014/01/02 职场文书
眼镜促销方案
2014/03/15 职场文书
2014年话务员工作总结
2014/11/19 职场文书
面试通知邮件
2015/04/20 职场文书
民事代理词范文
2015/05/25 职场文书
Vue如何实现组件间通信
2021/05/15 Vue.js