PHP里的单例类写法实例


Posted in PHP onJune 25, 2015

PHP里的单实例类在进行数据交换,节省内存上还是很有意义的。写个简单例子。
类1,单实例类本身:

class UTIL {
  private static $instance;
  public function get() {
    if (!self::$instance) {
      self::$instance = new UTIL();
    }
    return self::$instance;
  }
  public $number = 10;
  public function change($num) {
    $this->number += $num;
  }
  public function getNum() {
    return $this->number;
  }
}

类2,使用前述单实例类的应用类:

class SINGLEA {
  private $numInst;
  function __construct() {
    $this->numInst = UTIL::get();
  }
  public function change($num) {
    $this->numInst->change($num);
  }
  public function getNum() {
    return $this->numInst->getNum();
  }
}

类3,同类2:

class SINGLEB {
  private $numInst;
  function __construct() {
    $this->numInst = UTIL::get();
  }
  public function change($num) {
    $this->numInst->change($num);
  }
  public function getNum() {
    return $this->numInst->getNum();
  }
}

最后是调用的地方:

$instA = new SINGLEA();
$instA->change(100);
var_dump('SINGLEA CHANGED: ');
var_dump($instA->getNum());
$instB = new SINGLEB();
$instB->change(-510);
var_dump('SINGLEB CHANGED: ');
var_dump($instB->getNum());

最后的显示结果:

string'SINGLEA CHANGED: ' (length=17)
int110
string'SINGLEB CHANGED: ' (length=17)
int-400
PHP 相关文章推荐
资料注册后发信小技巧
Oct 09 PHP
php5.3 废弃函数小结
May 16 PHP
在smarty模板中使用PHP函数的方法
Apr 23 PHP
php中生成随机密码的自定义函数代码
Oct 21 PHP
QQ互联一键登录审核不通过的解决方案
Sep 10 PHP
php结合js实现点击超链接执行删除确认操作
Oct 31 PHP
php文件压缩之PHPZip类用法实例
Jun 18 PHP
PHP判断JSON对象是否存在的方法(推荐)
Jul 06 PHP
Yii框架创建cronjob定时任务的方法分析
May 23 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
Sep 16 PHP
php实现姓名根据首字母排序的类与方法(实例代码)
May 16 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
Mar 24 PHP
PHP合并数组+号和array_merge的区别
Jun 25 #PHP
PHP数组与对象之间使用递归实现转换的方法
Jun 24 #PHP
php计算多维数组中所有值总和的方法
Jun 24 #PHP
jquery获取多个checkbox的值异步提交给php的方法
Jun 24 #PHP
PHP将Excel导入数据库及数据库数据导出至Excel的方法
Jun 24 #PHP
php异常处理方法实例汇总
Jun 24 #PHP
php数组索引与键值操作技巧实例分析
Jun 24 #PHP
You might like
人尽可用的Windows技巧小贴士之下篇
2007/03/22 PHP
获取远程文件大小的php函数
2010/01/11 PHP
Could not load type System.ServiceModel.Activation.HttpModule解决办法
2012/12/29 PHP
总结PHP代码规范、流程规范、git规范
2018/06/18 PHP
实例分析10个PHP常见安全问题
2019/07/09 PHP
关于 byval 与 byref 的区别分析总结
2007/10/08 Javascript
基于jquery点击自以外任意处,关闭自身的代码
2012/02/10 Javascript
idTabs基于JQuery的根据URL参数选择Tab插件
2012/04/11 Javascript
关于jQuery对象数据缓存Cache原理以及jQuery.data详解
2013/04/07 Javascript
jquery ajax对特殊字符进行转义防止js注入使用示例
2013/11/21 Javascript
JavaScript获得页面base标签中url的方法
2015/04/03 Javascript
js实现漂浮回顶部按钮实例
2015/05/06 Javascript
简单谈谈javascript Date类型
2015/09/06 Javascript
JavaScript学习笔记(三):JavaScript也有入口Main函数
2015/09/12 Javascript
深入探讨前端框架react
2015/12/09 Javascript
js判断图片加载完成后获取图片实际宽高的方法
2016/02/25 Javascript
AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法
2016/12/14 Javascript
Vue实现购物车功能
2017/04/27 Javascript
xmlplus组件设计系列之图标(ICON)(1)
2017/05/05 Javascript
基于react后端渲染模板引擎noox发布使用
2018/01/11 Javascript
vue中引用阿里字体图标的方法
2018/02/10 Javascript
iview实现select tree树形下拉框的示例代码
2018/12/21 Javascript
vuejs实现下拉框菜单选择
2020/10/23 Javascript
[48:21]林俊杰圣堂刺客超神杀戮秀
2014/10/29 DOTA
python递归查询菜单并转换成json实例
2017/03/27 Python
Python面向对象之继承代码详解
2018/01/29 Python
python随机取list中的元素方法
2018/04/08 Python
对tf.reduce_sum tensorflow维度上的操作详解
2018/07/26 Python
python爬虫获取小区经纬度以及结构化地址
2018/12/30 Python
使用python实现抓取腾讯视频所有电影的爬虫
2019/04/15 Python
python+selenium 点击单选框-radio的实现方法
2019/09/03 Python
python 类之间的参数传递方式
2019/12/20 Python
美体小铺加拿大官方网站:The Body Shop加拿大
2016/10/30 全球购物
巴西男士胡须和头发护理产品商店:Beard
2017/11/13 全球购物
Python实现打乒乓小游戏
2021/09/25 Python
python 学习GCN图卷积神经网络
2022/05/11 Python