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 相关文章推荐
AJAX for PHP简单表数据查询实例
Jan 02 PHP
PHP 获取远程网页内容的代码(fopen,curl已测)
Jun 06 PHP
11个PHP 分页脚本推荐
Aug 15 PHP
php数组函数序列之array_key_exists() - 查找数组键名是否存在
Oct 29 PHP
基于PHP Web开发MVC框架的Smarty使用说明
Apr 19 PHP
PHP使用range协议实现输出文件断点续传代码实例
Jul 04 PHP
php中mt_rand()随机数函数用法
Nov 24 PHP
php使用cookie保存用户登录的用户名实例
Jan 26 PHP
PHP生成json和xml类型接口数据格式
May 17 PHP
php算法实例分享
Jul 14 PHP
php抽象方法和抽象类实例分析
Dec 07 PHP
laravel实现批量更新多条记录的方法示例
Oct 22 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
如何给phpadmin一个保护
2006/10/09 PHP
优化php效率,提高php性能的一些方法
2011/03/24 PHP
php中运用http调用的GET和POST方法示例
2014/09/29 PHP
火狐4、谷歌12不支持Jquery Validator的解决方法分享
2011/06/20 Javascript
网页加载时页面显示进度条加载完成之后显示网页内容
2012/12/23 Javascript
jquery向上向下取整适合分页查询
2014/09/06 Javascript
通过BootStrap实现轮播图的实际应用
2016/09/26 Javascript
如何从零开始利用js手写一个Promise库详解
2018/04/19 Javascript
vue 根据数组中某一项的值进行排序的方法
2018/08/30 Javascript
15个顶级开源JavaScript框架和库
2018/10/10 Javascript
vue element 关闭当前tab 跳转到上一路由操作
2020/07/22 Javascript
Vue登录拦截 登录后继续跳转指定页面的操作
2020/08/04 Javascript
在Vue中使用CSS3实现内容无缝滚动的示例代码
2020/11/27 Vue.js
Python的批量远程管理和部署工具Fabric用法实例
2015/01/23 Python
python获得文件创建时间和修改时间的方法
2015/06/30 Python
Pandas 数据处理,数据清洗详解
2018/07/10 Python
Python多进程fork()函数详解
2019/02/22 Python
详解python运行三种方式
2019/05/13 Python
Python实现简单的列表冒泡排序和反转列表操作示例
2019/07/10 Python
Python列表删除元素del、pop()和remove()的区别小结
2019/09/11 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
python json.dumps中文乱码问题解决
2020/04/01 Python
专门出售各种儿童读物的网站:Put Me In The Story
2016/08/07 全球购物
瑰珀翠美国官网:Crabtree & Evelyn美国
2016/11/29 全球购物
Expedia意大利旅游网站:酒店、机票和租车预订
2017/10/30 全球购物
利用promise及参数解构封装ajax请求的方法
2021/03/24 Javascript
车辆工程专业求职信
2014/06/14 职场文书
干部竞争上岗演讲稿
2014/09/11 职场文书
群众路线批评与自我批评发言稿
2014/10/16 职场文书
质量整改报告范文
2014/11/08 职场文书
故宫导游词
2015/01/31 职场文书
2015秋学期开学寄语
2015/05/28 职场文书
生日宴会祝酒词
2015/08/10 职场文书
浅谈python数据类型及其操作
2021/05/25 Python
SQL Server表分区删除详情
2021/10/16 SQL Server
MySQL优化常用的19种有效方法(推荐!)
2022/03/17 MySQL