使用PHP怎么实现一个限制实例化次数的类?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
实现思路
定义一个static变量$count,用于保存实例化对象的个数
定义一个static方法create,通过该方法判断$count的值,进而判断是否进一步实例化对象。
定义构造函数,$count+1
定义析构函数,$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
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。