PHP实现一个限制实例化次数的类示例


Posted in PHP onSeptember 16, 2019

本文实例讲述了PHP实现一个限制实例化次数的类。分享给大家供大家参考,具体如下:

实现思路

  1. 定义一个static变量$count,用于保存实例化对象的个数
  2. 定义一个static方法create,通过该方法判断$count的值,进而判断是否进一步实例化对象。
  3. 定义构造函数,$count+1
  4. 定义析构函数,$count-1

实现代码

<?php
class demo{
  public $name;
  public static $count=0;
  private function __construct($name){
    echo "create $name <br/>";
    $this->name = $name;
    self::$count++;
  }
  public function __destruct(){
    echo "destory ".$this->name."<br/>";
    self::$count--;
  }
  public static function create($name){
    if(self::$count>2){
      die("you can only create at most 2 objects.");
    }else{
      return new self($name);
    }
  }
}
$one = demo::create("one");
$two = demo::create("two");
$two = null;
$three = demo::create("three");

运行结果:

create one
create two
destory two
create three
destory three
destory one

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
人大复印资料处理程序_查询篇
Oct 09 PHP
PHP转换IP地址到真实地址的方法详解
Jun 09 PHP
PHP 通过Socket收发十六进制数据的实现代码
Aug 16 PHP
php实现的返回数据格式化类实例
Sep 22 PHP
给ECShop添加最新评论
Jan 07 PHP
php的GD库imagettftext函数解决中文乱码问题
Jan 24 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
Feb 28 PHP
[原创]php实现数组按拼音顺序排序的方法
May 03 PHP
php实现的redis缓存类定义与使用方法示例
Aug 09 PHP
PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)
Aug 15 PHP
PHP实现批量修改文件名的方法示例
Sep 18 PHP
php use和include区别总结
Oct 13 PHP
thinkPHP5框架路由常用知识点汇总
Sep 15 #PHP
php项目中类的自动加载实例讲解
Sep 12 #PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
Sep 12 #PHP
php创建多级目录与级联删除文件的方法示例
Sep 12 #PHP
PHP实现的文件浏览器功能简单示例
Sep 12 #PHP
PHP通过文件保存和更新信息的方法分析
Sep 12 #PHP
关于Curl在Swoole协程中的解决方案详析
Sep 12 #PHP
You might like
使用 php4 加速 web 传输
2006/10/09 PHP
PHP时间戳使用实例代码
2008/06/07 PHP
PHP图片处理之图片背景、画布操作
2014/11/19 PHP
php实现无限级分类查询(递归、非递归)
2016/03/10 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
2017/02/08 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
2020/03/27 PHP
JavaScript实现将数组数据添加到Select下拉框的方法
2015/08/21 Javascript
javascript获取系统当前时间的方法
2015/11/19 Javascript
微信小程序Server端环境配置详解(SSL, Nginx HTTPS,TLS 1.2 升级)
2017/01/12 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
2020/11/24 Javascript
Vue.js 2.0中select级联下拉框实例
2017/03/06 Javascript
原生JS进行前后端同构
2018/04/22 Javascript
vue1.0和vue2.0的watch监听事件写法详解
2018/09/11 Javascript
angularjs1.5 组件内用函数向外传值的实例
2018/09/30 Javascript
用图片替换checkbox原始样式并实现同样的功能
2018/11/15 Javascript
js中数组常用方法总结(推荐)
2019/04/09 Javascript
详解javascript对数组和json数组的操作
2019/04/15 Javascript
layui table 获取分页 limit的方法
2019/09/20 Javascript
javascript实现鼠标点击生成文字特效
2019/12/24 Javascript
vue+echarts+datav大屏数据展示及实现中国地图省市县下钻功能
2020/11/16 Javascript
基于python的Tkinter实现一个简易计算器
2015/12/31 Python
Python第三方库xlrd/xlwt的安装与读写Excel表格
2017/01/21 Python
Python向日志输出中添加上下文信息
2017/05/24 Python
python模糊图片过滤的方法
2018/12/14 Python
Django JWT Token RestfulAPI用户认证详解
2019/01/23 Python
如何用python 操作zookeeper
2020/12/28 Python
英国派对礼服和连衣裙购物网站:TFNC London
2018/07/07 全球购物
Ashford台湾:以折扣价提供奢华的男女用表款
2019/12/04 全球购物
俄罗斯最大的在线手表商店:Bestwatch.ru
2020/01/11 全球购物
室内设计专业个人的自我评价
2013/10/19 职场文书
公司同意接收函
2014/01/13 职场文书
青年教师培训方案
2014/02/06 职场文书
学生考试舞弊检讨书
2015/01/01 职场文书
员工辞职信怎么写
2015/02/27 职场文书
采购员工作总结范文
2015/08/12 职场文书
周一给客户的问候语
2015/11/10 职场文书