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 相关文章推荐
php生成文件
Jan 15 PHP
PHP 5.0对象模型深度探索之属性和方法
Mar 27 PHP
PHP中$_SERVER的详细参数与说明
Jul 29 PHP
PHP递归算法的详细示例分析
Feb 19 PHP
PHP重定向的3种方式
Mar 07 PHP
PHP实现显示照片exif信息的方法
Jul 11 PHP
php中动态修改ini配置
Oct 14 PHP
php实现基于微信公众平台开发SDK(demo)扩展的方法
Dec 22 PHP
PHP 7的一些引人注目的新特性简单介绍
Nov 08 PHP
PHP 计算两个特别大的整数实例代码
May 07 PHP
关于laravel后台模板laravel-admin select框的使用详解
Oct 03 PHP
PHP实现简单的计算器
Aug 28 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
《心理测量者3》剧场版动画预告
2020/03/02 日漫
浅析memcache启动以及telnet命令详解
2013/06/28 PHP
php stripslashes和addslashes的区别
2014/02/03 PHP
PHP面向对象程序设计之类常量用法实例
2014/08/20 PHP
PHP删除指定目录中的所有目录及文件的方法
2015/02/26 PHP
Codeigniter实现发送带附件的邮件
2015/03/19 PHP
YII2框架中behavior行为的理解与使用方法示例
2020/03/13 PHP
JS类中定义原型方法的两种实现的区别
2007/03/08 Javascript
JavaScript 新手24条实用建议[TUTS+]
2009/06/21 Javascript
基于jQuery的360图片展示实现代码
2012/06/14 Javascript
关于锚点跳转及jQuery下相关操作与插件
2012/10/01 Javascript
『jQuery』取指定url格式及分割函数应用
2013/04/22 Javascript
js 模式窗口(模式对话框和非模式对话框)的使用介绍
2014/07/17 Javascript
通过jquery 获取URL参数并进行转码
2014/08/18 Javascript
javascript数组随机排序实例分析
2015/07/22 Javascript
angularJS 指令封装回到顶部示例详解
2017/01/22 Javascript
微信小程序 刷新上拉下拉不会断详细介绍
2017/05/11 Javascript
webpack4+react多页面架构的实现
2018/10/25 Javascript
支付宝小程序自定义弹窗dialog插件的实现代码
2018/11/30 Javascript
Vue+abp微信扫码登录的实现代码示例
2020/01/06 Javascript
[48:26]VGJ.S vs infamous Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
Python 中urls.py:URL dispatcher(路由配置文件)详解
2017/03/24 Python
Pandas 同元素多列去重的实例
2018/07/03 Python
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
2020/02/25 Python
使用Python第三方库pygame写个贪吃蛇小游戏
2020/03/06 Python
Python 实现微信自动回复的方法
2020/09/11 Python
Pycharm创建文件时自动生成文件头注释(自定义设置作者日期)
2020/11/24 Python
奥地利汽车配件店:Pkwteile.at
2017/03/10 全球购物
印度手工编织服装和家居用品商店:Fabindi
2019/10/07 全球购物
澳大利亚第一旅行车和房车配件店:Caravan RV Camping
2020/12/26 全球购物
北承题目(C++)
2012/05/16 面试题
演讲稿格式
2014/04/30 职场文书
市级优秀班主任事迹材料
2014/05/13 职场文书
机动车登记业务委托书
2014/10/08 职场文书
慰问信模板
2015/02/14 职场文书
罗马假日观后感
2015/06/08 职场文书