使用PHP怎么實(shí)現(xiàn)一個(gè)限制實(shí)例化次數(shù)的類?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
網(wǎng)站設(shè)計(jì)制作過(guò)程拒絕使用模板建站;使用PHP+MYSQL原生開(kāi)發(fā)可交付網(wǎng)站源代碼;符合網(wǎng)站優(yōu)化排名的后臺(tái)管理系統(tǒng);網(wǎng)站制作、成都做網(wǎng)站收費(fèi)合理;免費(fèi)進(jìn)行網(wǎng)站備案等企業(yè)網(wǎng)站建設(shè)一條龍服務(wù).我們是一家持續(xù)穩(wěn)定運(yùn)營(yíng)了十多年的創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)公司。實(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è)公司,的支持。