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中在数据库中保存Checkbox数据(1)
Oct 09 PHP
如何在PHP中使用Oracle数据库(2)
Oct 09 PHP
php的memcached客户端memcached
Jun 14 PHP
php查看请求头信息获取远程图片大小的方法分享
Dec 25 PHP
异步加载技术实现当滚动条到最底部的瀑布流效果
Sep 16 PHP
详解WordPress中分类函数wp_list_categories的使用
Jan 04 PHP
Yii2 RESTful中api的使用及开发实例详解
Jul 06 PHP
php简单处理XML数据的方法示例
May 19 PHP
php微信开发之图片回复功能
Jun 14 PHP
php实现二叉树中和为某一值的路径方法
Oct 14 PHP
php将字符串转换为数组实例讲解
May 05 PHP
基于PHP+Mysql简单实现了图书购物车系统的实例详解
Aug 06 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设置编码格式的方法
2013/03/05 PHP
session在php5.3中的变化 session_is_registered() is deprecated in
2013/11/12 PHP
详解WordPress中用于更新和获取用户选项数据的PHP函数
2016/03/08 PHP
ExtJS GTGrid 简单用户管理
2009/07/01 Javascript
Jvascript学习实践案例(开发常用)
2012/06/25 Javascript
jquery使用jquery.zclip插件复制对象的实例教程
2013/12/04 Javascript
jQuery验证插件 Validate详解
2014/11/20 Javascript
js判断是否按下了Shift键的方法
2015/01/27 Javascript
C++中的string类的用法小结
2015/08/07 Javascript
浅谈JavaScript 函数参数传递到底是值传递还是引用传递
2016/08/23 Javascript
浅谈js函数中的实例对象、类对象、局部变量(局部函数)
2016/11/20 Javascript
Angular实现较为复杂的表格过滤,删除功能示例
2017/12/23 Javascript
使用Angular CLI进行单元测试和E2E测试的方法
2018/03/24 Javascript
JS中this的指向以及call、apply的作用
2018/05/06 Javascript
vue中使用cookies和crypto-js实现记住密码和加密的方法
2018/10/18 Javascript
JS JQuery获取data-*属性值方法解析
2020/09/01 jQuery
JavaScript中遍历的十种方法总结
2020/12/15 Javascript
[02:42]决战东方!DOTA2亚洲邀请赛重启荣耀之争
2017/03/17 DOTA
Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例
2018/03/23 Python
使用python读取.text文件特定行的数据方法
2019/01/28 Python
Django中使用haystack+whoosh实现搜索功能
2019/10/08 Python
将数据集制作成VOC数据集格式的实例
2020/02/17 Python
python3+openCV 获取图片中文本区域的最小外接矩形实例
2020/06/02 Python
CSS3实现翘边的阴影效果的代码示例
2016/06/13 HTML / CSS
HTML5实现音频和视频嵌入的方法
2018/08/22 HTML / CSS
Columbia美国官网:美国著名的户外服装品牌
2016/11/24 全球购物
美国宠物美容和宠物用品购物网站:Cherrybrook
2018/12/07 全球购物
马德里运动鞋商店:Nigra Mercato
2020/02/16 全球购物
C#如何调用Windows程序打开一个文档
2014/12/26 面试题
九年级历史教学反思
2014/01/27 职场文书
入党自我评价范文
2014/02/02 职场文书
男生贾里读书笔记
2015/06/30 职场文书
如何利用JavaScript实现二叉搜索树
2021/04/02 Javascript
教你利用python实现企业微信发送消息
2021/05/23 Python
使用 CSS 轻松实现一些高频出现的奇形怪状按钮
2021/12/06 HTML / CSS
Python 恐龙跑跑小游戏实现流程
2022/02/15 Python