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实现的简单压缩英文字符串的代码
Apr 24 PHP
让的PHP代码飞起来的40条小技巧(提升php效率)
Apr 12 PHP
将时间以距今多久的形式表示,PHP,js双版本
Sep 25 PHP
php中stdClass的用法分析
Feb 27 PHP
thinkPHP实现MemCache分布式缓存功能
Mar 23 PHP
php好代码风格的阶段性总结
Jun 25 PHP
thinkPHP中钩子的两种配置调用方法详解
Nov 11 PHP
php str_replace替换指定次数的方法详解
May 05 PHP
PHP检查网站是否宕机的方法示例
Jul 24 PHP
thinkPHP框架实现生成条形码的方法示例
Jun 06 PHP
Yii 框架入口脚本示例分析
May 19 PHP
搭建PhpStorm+PhpStudy开发环境的超详细教程
Sep 17 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中支持多种编码的中文字符串截取函数!
2007/03/20 PHP
PHP删除HTMl标签的三种解决方法
2013/06/30 PHP
php获取当前时间的毫秒数的方法
2014/01/26 PHP
PHP用星号隐藏部份用户名、身份证、IP、手机号等实例
2014/04/08 PHP
大家都应该掌握的PHP关联数组使用技巧
2015/12/25 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
2021/03/09 PHP
JavaScript获得选中文本内容的方法
2008/12/02 Javascript
JavaScript Serializer序列化时间处理示例
2014/07/31 Javascript
JavaScript定义类和对象的方法
2014/11/26 Javascript
javascript的理解及经典案例分析
2016/05/20 Javascript
JS使用单链表统计英语单词出现次数
2016/06/16 Javascript
js轮播图代码分享
2016/07/14 Javascript
浅谈Nodejs中的作用域问题
2016/12/26 NodeJs
浅谈JavaScript 代码简洁之道
2019/01/09 Javascript
vue 实现搜索的结果页面支持全选与取消全选功能
2019/05/10 Javascript
wxpython学习笔记(推荐查看)
2014/06/09 Python
python引用DLL文件的方法
2015/05/11 Python
python中urllib.unquote乱码的原因与解决方法
2017/04/24 Python
python实现word 2007文档转换为pdf文件
2018/03/15 Python
对python中类的继承与方法重写介绍
2019/01/20 Python
Python线程threading模块用法详解
2020/02/26 Python
python中pop()函数的语法与实例
2020/12/01 Python
HTML5 video播放器全屏(fullScreen)方法实例
2015/04/24 HTML / CSS
美国家居用品和厨具购物网站:DealsDot
2019/10/07 全球购物
5个HTML5的常用本地存储方式详解与介绍
2021/03/27 HTML / CSS
信息管理专业学生自荐信格式
2013/09/22 职场文书
毕业生如何写自我鉴定
2014/03/15 职场文书
模具专业自荐信
2014/05/29 职场文书
校庆口号
2014/06/20 职场文书
本科毕业论文导师评语
2014/12/31 职场文书
英文感谢信范文
2015/01/21 职场文书
学习经验交流会演讲稿
2015/11/02 职场文书
《去年的树》教学反思
2016/02/18 职场文书
2019军训心得体会
2019/06/27 职场文书
http通过StreamingHttpResponse完成连续的数据传输长链接方式
2022/02/12 Python