使用PHP怎么實(shí)現(xiàn)一個(gè)限制實(shí)例化次數(shù)的類?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
實(shí)現(xiàn)思路
定義一個(gè)static變量$count,用于保存實(shí)例化對(duì)象的個(gè)數(shù)
定義一個(gè)static方法create,通過(guò)該方法判斷$count的值,進(jìn)而判斷是否進(jìn)一步實(shí)例化對(duì)象。
定義構(gòu)造函數(shù),$count+1
定義析構(gòu)函數(shù),$count-1
實(shí)現(xiàn)代碼
"; $this->name = $name; self::$count++; } public function __destruct(){ echo "destory ".$this->name."
"; 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");
運(yùn)行結(jié)果:
create one
create two
destory two
create three
destory three
destory one
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,的支持。