php设计模式之单例模式用法经典示例分析


Posted in PHP onSeptember 20, 2019

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

<?php
/**
* @desc 单例模式
* 目的:防止过多的new对象和clone对象,没有对象的时候new对象并缓存,始终保持都是同一个对象实例
* 特点:php的单例是进程中的单例,而不像java属于内存中的单例
* **/
class single{
protected static $ins = null;//声明一个静态变量,用来存储类的实例
private $name;//声明一个私有的实例变量
/**
* 私有化构造方法,防止不断的创建对象
* **/
private function __construct(){
}
public static function getIns(){
if(self::$ins===null){
self::$ins = new self();
}
return self::$ins;
}
public function setName($name){
$this->name = $name;
}
public function getName(){
return $this->name;
}  
}
$single1 = single::getIns();
$single2 = single::getIns();
$single1->setName('hello world!');
$single2->setName('hello php!');
echo $single1->getName();//输出结果:hello php!
echo "<br/>":
echo $single2->getName();//输出结果:hello php!
/***
* 分析:输出的结果都是hello php!
* 采用了单例模式对象$single1与$single2是等价的,因此对象$single1与$single2都在设置类的变量时指向都是一致的,变量值取对象设置的最新的一个值
* **/

运行结果:

hello php!
hello php!

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

PHP 相关文章推荐
如何正确理解PHP的错误信息
Oct 09 PHP
php不用内置函数对数组排序的两个算法代码
Feb 08 PHP
PHP文件大小格式化函数合集
Mar 10 PHP
Linux下php5.4启动脚本
Aug 03 PHP
学习php中的正则表达式
Aug 17 PHP
php获取文章上一页与下一页的方法
Dec 01 PHP
WordPress中邮件的一些修改和自定义技巧
Dec 15 PHP
PHP实现的随机IP函数【国内IP段】
Jul 20 PHP
php事件驱动化设计详解
Nov 10 PHP
php mysql_list_dbs()函数用法示例
Mar 29 PHP
PHP实现的常规正则验证helper公共类完整实例
Apr 27 PHP
laravel如何开启跨域功能示例详解
Aug 31 PHP
php数组和链表的区别总结
Sep 20 #PHP
php输出反斜杠的实例方法
Sep 19 #PHP
php实现session共享的实例方法
Sep 19 #PHP
php进行md5加密简单实例方法
Sep 19 #PHP
php解决安全问题的方法实例
Sep 19 #PHP
PHP中16个高危函数整理
Sep 19 #PHP
php实例化一个类的具体方法
Sep 19 #PHP
You might like
PHP+JS无限级可伸缩菜单详解(简单易懂)
2007/01/02 PHP
php中获取关键词及所属来源搜索引擎名称的代码
2011/02/15 PHP
ThinkPHP框架里隐藏index.php
2016/04/12 PHP
Thinkphp 空操作、空控制器、命名空间(详解)
2017/05/05 PHP
php静态成员方法和静态的成员属性的使用方法
2017/10/26 PHP
PHP封装的完整分页类示例
2018/08/21 PHP
CI框架网页缓存简单用法分析
2018/12/26 PHP
奉献给JavaScript初学者的编写开发的七个细节
2011/01/11 Javascript
JavaScript高级程序设计 读书笔记之九 本地对象Array
2012/02/27 Javascript
jQuery判断checkbox是否选中的小例子
2013/12/02 Javascript
Javascript实现带关闭按钮的网页漂浮广告代码
2014/01/12 Javascript
对Jquery中的ajax再封装,简化操作示例
2014/02/12 Javascript
深入理解JavaScript系列(49):Function模式(上篇)
2015/03/04 Javascript
JavaScript获取当前网页标题(title)的方法
2015/04/03 Javascript
基于jQuery实现点击弹出层实例代码
2016/01/01 Javascript
Javascript中的迭代、归并方法详解
2016/06/14 Javascript
jQuery和hwSlider实现内容响应式可触控滑动切换效果附源码下载(二)
2016/06/22 Javascript
JS定时器实现数值从0到10来回变化
2016/12/09 Javascript
深入理解NodeJS 多进程和集群
2018/10/17 NodeJs
详解jQuery设置内容和属性
2019/04/11 jQuery
Layer+Echarts构建弹出层折线图的方法
2019/09/25 Javascript
python实现的解析crontab配置文件代码
2014/06/30 Python
python新手经常遇到的17个错误分析
2014/07/30 Python
使用Python实现博客上进行自动翻页
2017/08/23 Python
网易2016研发工程师编程题 奖学金(python)
2019/06/19 Python
Python如何调用JS文件中的函数
2019/08/16 Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
2020/01/18 Python
Python bytes string相互转换过程解析
2020/03/05 Python
一些关于python 装饰器的个人理解
2020/08/31 Python
大学生简历中个人的自我评价
2013/10/06 职场文书
养殖项目策划书范文
2014/01/13 职场文书
《雪地里的小画家》教学反思
2014/02/22 职场文书
培训班主持词
2014/03/28 职场文书
目标管理责任书
2014/04/15 职场文书
交通志愿者活动总结
2014/06/27 职场文书
quickjs 封装 JavaScript 沙箱详情
2021/11/02 Javascript