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脚本的10个技巧(7)
Oct 09 PHP
php中支持多种编码的中文字符串截取函数!
Mar 20 PHP
phpmyadmin MySQL 加密配置方法
Jul 05 PHP
探讨php中防止SQL注入最好的方法是什么
Jun 10 PHP
php配置php-fpm启动参数及配置详解
Nov 04 PHP
php生成Android客户端扫描可登录的二维码
May 13 PHP
Yii2 GridView实现列表页直接修改数据的方法
May 16 PHP
PHP第三方登录―QQ登录实现方法
Feb 06 PHP
PHP 年月日的三级联动实例代码
May 24 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
Feb 06 PHP
在Laravel中实现使用AJAX动态刷新部分页面
Oct 15 PHP
PHP数组基本用法与知识点总结
Jun 02 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
Discuz!5的PHP代码高亮显示插件(黑暗中的舞者更新)
2007/01/29 PHP
PHP memcache扩展的三种安装方法
2009/04/26 PHP
PHP使用DES进行加密与解密的方法详解
2013/06/06 PHP
php实现图形显示Ip地址的代码及注释
2014/01/20 PHP
PHP管理依赖(dependency)关系工具 Composer的自动加载(autoload)
2014/08/18 PHP
php实现字符串首字母转换成大写的方法
2015/03/17 PHP
PHP将Excel导入数据库及数据库数据导出至Excel的方法
2015/06/24 PHP
Div Select挡住的解决办法
2008/08/07 Javascript
jQuery响应enter键的实现思路
2014/04/18 Javascript
jQuery中nextAll()方法用法实例
2015/01/07 Javascript
iScroll.js 使用方法参考
2016/05/16 Javascript
Vue.js双向绑定操作技巧(初级入门)
2016/12/27 Javascript
bootstrap常用组件之头部导航实现代码
2017/04/20 Javascript
angular 表单验证器验证的同时限制输入的实现
2019/04/11 Javascript
Javascript异步执行不按顺序解决方案
2020/04/30 Javascript
Python实现二叉堆
2016/02/03 Python
python中将函数赋值给变量时需要注意的一些问题
2017/08/18 Python
Python升级导致yum、pip报错的解决方法
2017/09/06 Python
python实现多进程代码示例
2018/10/31 Python
解决pandas.DataFrame.fillna 填充Nan失败的问题
2018/11/06 Python
通过python爬虫赚钱的方法
2019/01/29 Python
解决pycharm上的jupyter notebook端口被占用问题
2019/12/17 Python
Python爬虫:Request Payload和Form Data的简单区别说明
2020/04/30 Python
关于tensorflow softmax函数用法解析
2020/06/30 Python
CSS3绘制不规则图形的一些方法示例
2015/11/07 HTML / CSS
详解html5 canvas常用api总结(二)--绘图API
2016/12/14 HTML / CSS
巴西女装购物网站:Eclectic
2018/04/24 全球购物
党员违纪检讨书
2014/02/18 职场文书
《凡卡》教学反思
2014/04/09 职场文书
艺术学院毕业生自荐信
2014/07/05 职场文书
大学生个人求职信例文
2014/07/07 职场文书
教师党员自我剖析材料
2014/09/29 职场文书
爱的教育读书笔记
2015/06/26 职场文书
党务工作者主要事迹材料
2015/11/03 职场文书
Win11安装受阻怎么办? Windows11安装问题与解决方案汇总
2021/11/21 数码科技
Java GUI编程菜单组件实例详解
2022/04/07 Java/Android