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中截取中文字符串的代码小结
Jul 17 PHP
php中jQuery插件autocomplate的简单使用笔记
Jun 14 PHP
PHP数组传递是值传递而非引用传递概念纠正
Jan 31 PHP
PHP和JavaScrip分别获取关联数组的键值示例代码
Sep 16 PHP
PHP计算一年多少个星期和每周的开始和结束日期
Jul 01 PHP
两千行代码的PHP学习笔记汇总
Oct 05 PHP
用php守护另一个php进程的例子
Feb 13 PHP
Yii实现单用户博客系统文章详情页插入评论表单的方法
Dec 28 PHP
Symfony2在Nginx下的配置方法图文教程
Feb 04 PHP
Symfony2安装第三方Bundles实例详解
Feb 04 PHP
php版微信发红包接口用法示例
Sep 23 PHP
thinkPHP中volist标签用法示例
Dec 06 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
discuz免激活同步登入代码修改方法(discuz同步登录)
2013/12/24 PHP
php按百分比生成缩略图的代码分享
2014/05/10 PHP
windwos下使用php连接oracle数据库的过程分享
2014/05/26 PHP
Codeigniter框架的更新事务(transaction)BUG及解决方法
2014/07/25 PHP
php出现web系统多域名登录失败的解决方法
2014/09/30 PHP
php生成PDF格式文件并且加密
2015/06/22 PHP
CodeIgniter配置之SESSION用法实例分析
2016/01/19 PHP
使用新的消息弹出框blackbirdjs
2008/10/16 Javascript
Js 随机数产生6位数字
2010/05/13 Javascript
javascript获取作用在元素上面的样式属性代码
2012/09/20 Javascript
Javascript连接Access数据库完整实例
2015/08/03 Javascript
Ajax+FormData+javascript实现无刷新表单信息提交
2016/10/24 Javascript
文件上传的几个示例分享【推荐】
2016/12/16 Javascript
EasyUI中的dataGrid的行内编辑
2017/06/22 Javascript
vue实现验证码输入框组件
2017/12/14 Javascript
微信小程序用户信息encryptedData详解
2018/08/24 Javascript
vue项目从node8.x升级到12.x后的问题解决
2019/10/25 Javascript
vue中音频wavesurfer.js的使用方法
2020/02/20 Vue.js
详解ES6数组方法find()、findIndex()的总结
2020/05/12 Javascript
Vue 打包体积优化方案小结
2020/05/20 Javascript
jquery更改元素属性attr()方法操作示例
2020/05/22 jQuery
JavaScript中条件语句的优化技巧总结
2020/12/04 Javascript
用Python制作在地图上模拟瘟疫扩散的Gif图
2015/03/31 Python
Python图像灰度变换及图像数组操作
2016/01/27 Python
python实现随机森林random forest的原理及方法
2017/12/21 Python
详解Python locals()的陷阱
2019/03/26 Python
Django文件存储 默认存储系统解析
2019/08/02 Python
Python 矩阵转置的几种方法小结
2019/12/02 Python
flask 框架操作MySQL数据库简单示例
2020/02/02 Python
Python网页解析器使用实例详解
2020/05/30 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
2021/01/19 Python
理肤泉美国官网:La Roche-Posay
2018/01/17 全球购物
体育之星事迹材料
2014/05/11 职场文书
公司授权委托书
2014/10/17 职场文书
新闻通讯稿范文
2015/07/22 职场文书
使用 DataAnt 监控 Apache APISIX的原理解析
2022/07/07 Servers