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函数utf8转gb2312编码
Dec 21 PHP
php 一元分词算法
Nov 30 PHP
探讨:如何编写PHP扩展
Jun 13 PHP
基于empty函数的输出详解
Jun 17 PHP
PHP+FastCGI+Nginx配置PHP运行环境
Aug 07 PHP
PHP实现图片裁剪、添加水印效果代码
Oct 01 PHP
PHP入门教程之会话控制技巧(cookie与session)
Sep 11 PHP
用php和jQuery来实现“顶”和“踩”的投票功能
Oct 13 PHP
Yii2单元测试用法示例
Nov 12 PHP
PHP获取二叉树镜像的方法
Jan 17 PHP
PHP连接MySQL数据库操作代码实例解析
Jul 11 PHP
详解php中流行的rpc框架
May 29 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
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
2013/07/05 PHP
使用Zookeeper分布式部署PHP应用程序
2019/03/15 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
2019/10/15 PHP
javascript 写类方式之八
2009/07/05 Javascript
jQuery EasyUI API 中文文档 - EasyLoader 加载器
2011/09/29 Javascript
自定义jQuery选项卡插件实例
2013/03/27 Javascript
基于MVC+EasyUI的web开发框架之使用云打印控件C-Lodop打印页面或套打报关运单信息
2016/08/29 Javascript
详解在vue-cli项目中安装node-sass
2017/06/21 Javascript
使用ECharts实现状态区间图
2018/10/25 Javascript
highcharts.js数据绑定方式代码实例
2019/11/13 Javascript
Python中正则表达式的用法实例汇总
2014/08/18 Python
Python中多线程及程序锁浅析
2015/01/21 Python
Python机器学习之SVM支持向量机
2017/12/27 Python
使用Numpy读取CSV文件,并进行行列删除的操作方法
2018/07/04 Python
windows下pycharm安装、创建文件、配置默认模板
2018/07/31 Python
浅谈Python基础—判断和循环
2019/03/22 Python
python 将有序数组转换为二叉树的方法
2019/03/26 Python
Python中__repr__和__str__区别详解
2019/11/07 Python
python二维键值数组生成转json的例子
2019/12/06 Python
python基于TCP实现的文件下载器功能案例
2019/12/10 Python
python脚本后台执行方式
2019/12/21 Python
Python工程师必考的6个经典面试题
2020/06/28 Python
Python环境配置实现pip加速过程解析
2020/11/27 Python
CSS3实现莲花绽放的动画效果
2020/11/06 HTML / CSS
Wedgwood英国官方网站:英式精致骨瓷餐具、礼品与生活精品,源于1759年
2019/09/02 全球购物
求职信的最佳写作思路
2014/02/01 职场文书
学生自我评价范文
2014/02/02 职场文书
学习十八届三中全会精神实施方案
2014/02/17 职场文书
高效课堂标语
2014/06/26 职场文书
单位授权委托书范本
2014/09/26 职场文书
个人租房协议书样本
2014/10/01 职场文书
刑事辩护授权委托书范本
2014/10/17 职场文书
2015年劳动部工作总结
2015/05/23 职场文书
Python+Appium新手教程
2021/04/17 Python
「天才王子的赤字国家重生术」妮妮姆·拉雷粘土人开订
2022/03/21 日漫
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
2022/06/01 Servers