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 相关文章推荐
从网上搜到的phpwind 0day的代码
Dec 07 PHP
使用PHP socke 向指定页面提交数据
Jul 23 PHP
从Web查询数据库之PHP与MySQL篇
Sep 25 PHP
ajax完美实现两个网页 分页功能的实例代码
Apr 16 PHP
如何阻止网站被恶意反向代理访问(防网站镜像)
Mar 18 PHP
php中的静态变量的基本用法
Mar 20 PHP
php递归创建目录的方法
Feb 02 PHP
基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能
Feb 24 PHP
php生成无限栏目树
Mar 16 PHP
PHP生成随机数的方法总结
Mar 01 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
Jun 14 PHP
PHP图像处理 imagestring添加图片水印与文字水印操作示例
Feb 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
为什么夜间收到的中波电台比白天多
2021/03/01 无线电
Ajax+PHP 边学边练 之二 实例
2009/11/24 PHP
PHP 基于文件头的文件类型验证类函数
2012/05/01 PHP
关于php支持分块与断点续传文件下载功能代码
2014/05/09 PHP
PHP中substr()与explode()函数用法分析
2014/11/24 PHP
php中heredoc与nowdoc介绍
2014/12/25 PHP
smarty中改进truncate使其支持中文的方法
2016/05/30 PHP
PHP验证码无法显示的原因及解决办法
2017/08/11 PHP
基于laravel Request的所有方法详解
2019/09/29 PHP
js location.replace与location.reload的区别
2010/09/08 Javascript
基于jquery实现的可以编辑选择的下拉框的代码
2010/11/19 Javascript
鼠标焦点离开文本框时验证的js代码
2013/07/19 Javascript
第二次聊一聊JS require.js模块化工具的基础知识
2016/04/17 Javascript
JavaScript实现事件的中断传播和行为阻止方法示例
2017/01/20 Javascript
JS匹配日期和时间的正则表达式示例
2017/05/12 Javascript
nodejs async异步常用函数总结(推荐)
2017/11/17 NodeJs
layui问题之模拟select点击事件的实例讲解
2018/08/15 Javascript
vue 使用html2canvas将DOM转化为图片的方法
2018/09/11 Javascript
改进 JavaScript 和 Rust 的互操作性并深入认识 wasm-bindgen 组件
2019/07/13 Javascript
小程序中的箭头函数的具体使用
2020/06/19 Javascript
Python RuntimeError: thread.__init__() not called解决方法
2015/04/28 Python
浅谈python for循环的巧妙运用(迭代、列表生成式)
2017/09/26 Python
python字符串常用方法
2018/06/14 Python
django的聚合函数和aggregate、annotate方法使用详解
2019/07/23 Python
Python解析命令行读取参数之argparse模块
2019/07/26 Python
Python图像处理库PIL中图像格式转换的实现
2020/02/26 Python
syb养殖创业计划书
2014/01/09 职场文书
会计学生自我鉴定
2014/02/06 职场文书
优秀广告词大全
2014/03/19 职场文书
村干部培训班主持词
2014/03/28 职场文书
组织生活会表态发言材料
2014/10/17 职场文书
中职班主任培训心得体会
2016/01/07 职场文书
详解缓存穿透击穿雪崩解决方案
2021/05/28 Redis
Python实现8种常用抽样方法
2021/06/27 Python
Java面试题冲刺第十五天--设计模式
2021/08/07 面试题
CSS 实现磨砂玻璃(毛玻璃)效果样式
2023/05/21 HTML / CSS