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 相关文章推荐
PHP 截取字符串 分别适合GB2312和UTF8编码情况
Feb 12 PHP
ie6 动态缩略图不显示的原因
Jun 21 PHP
php生成shtml类用法实例
Dec 09 PHP
php禁止某ip或ip地址段访问的方法
Feb 25 PHP
PHP curl伪造IP地址和header信息代码实例
Apr 27 PHP
php实现通过cookie换肤的方法
Jul 13 PHP
PHP使用pear实现mail发送功能 windows环境下配置pear
Apr 15 PHP
实例讲解php数据访问
May 09 PHP
PHP类的特性实例分析
Sep 28 PHP
PHP树形结构tree类用法示例
Feb 01 PHP
使用Rancher在K8S上部署高性能PHP应用程序的教程
Jul 10 PHP
详解Laravel框架的依赖注入功能
May 27 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
PHP 循环列出目录内容的函数代码
2010/05/26 PHP
关于php程序报date()警告的处理(date_default_timezone_set)
2013/10/22 PHP
php使用pdo连接并查询sql数据库的方法
2014/12/24 PHP
PHP识别二维码的方法(php-zbarcode安装与使用)
2016/07/07 PHP
Laravel4中的Validator验证扩展用法详解
2016/07/26 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
2020/02/15 PHP
给jQuery方法添加回调函数一款插件的应用
2013/01/21 Javascript
jquery实现效果比较好的table选中行颜色
2014/03/25 Javascript
禁止iframe脚本弹出的窗口覆盖了父窗口的方法
2014/09/06 Javascript
jQuery中odd选择器的定义和用法
2014/12/23 Javascript
JavaScript实现LI列表数据绑定的方法
2015/08/04 Javascript
jQuery移动端图片上传组件
2016/06/12 Javascript
js判断请求的url是否可访问,支持跨域判断的实现方法
2016/09/17 Javascript
详解Vue监听数据变化原理
2017/03/08 Javascript
JavaScript实现简单精致的图片左右无缝滚动效果
2017/03/16 Javascript
Vue实现兄弟组件间的联动效果
2020/01/21 Javascript
OpenLayers3实现地图鹰眼以及地图比例尺的添加
2020/09/25 Javascript
Python 字符串操作方法大全
2014/03/11 Python
python回调函数用法实例分析
2015/05/09 Python
Python数据类型详解(四)字典:dict
2016/05/12 Python
Python实现Pig Latin小游戏实例代码
2018/02/02 Python
Python序列循环移位的3种方法推荐
2018/04/09 Python
Python实现正则表达式匹配任意的邮箱方法
2018/12/20 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
2018/12/24 Python
对python xlrd读取datetime类型数据的方法详解
2018/12/26 Python
利用jupyter网页版本进行python函数查询方式
2020/04/14 Python
实现CSS3中的border-radius(边框圆角)示例代码
2013/07/19 HTML / CSS
如何提高JDBC的性能
2013/04/30 面试题
毕业生求职简历的自我评价
2013/10/07 职场文书
售前工程师职业生涯规划
2014/03/02 职场文书
争先创优活动总结
2014/08/27 职场文书
大学生实习证明范本
2014/09/19 职场文书
民事和解协议书格式
2014/11/29 职场文书
优秀小学生事迹材料
2014/12/26 职场文书
初婚初育证明范本
2015/06/18 职场文书
浅谈如何保证Mysql主从一致
2022/03/13 MySQL