您好,登錄后才能下訂單哦!
這篇文章給大家介紹如何在php項(xiàng)目中實(shí)現(xiàn)一個(gè)單態(tài)設(shè)計(jì)模式,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
具體如下:
單態(tài)設(shè)計(jì)模式通常包含以下三點(diǎn):
· 一個(gè)私有的 構(gòu)造方法;(確保用戶無法通過創(chuàng)建對(duì)象對(duì)其進(jìn)行實(shí)例化)
· 一個(gè)公有的 靜態(tài)的 方法;(負(fù)責(zé)對(duì)其本身進(jìn)行實(shí)例化)
· 一個(gè)私有的 靜態(tài)的 屬性;(用于保存僅有的一個(gè)實(shí)例化對(duì)象)
<?php class singleTon{ //用于保存僅有的一個(gè)實(shí)例化對(duì)象 private static $Instance=NULL; //構(gòu)造方法 使用private 封裝后 則只能在類的內(nèi)部使用new去創(chuàng)建對(duì)象 private function __construct(){}; //只有通過這個(gè)方法才能返回本類中的對(duì)象,該方法是靜態(tài)方法 用類名調(diào)用 public static getInstance(){ if(self::$Instance instanceof self){ //如果本類中的$Instance為空,說明還沒有被實(shí)例化過 self::$Instance=new singleTon(); //實(shí)例化本對(duì)象 } return self::$Instance; } } $instance=singleTon::getInstance(); //只能使用靜態(tài)方法getInstance()去獲取singleTon類的對(duì)象 ?>
所謂的單態(tài)設(shè)計(jì)模式就是一個(gè)類只能產(chǎn)生/創(chuàng)建唯一一個(gè)對(duì)象
要編寫單態(tài)設(shè)計(jì)模式,就必須讓一個(gè)類只能實(shí)例化一個(gè)對(duì)象,而要想讓一個(gè)類只能實(shí)例化一個(gè)對(duì)象,就要先讓一個(gè)類不能實(shí)例化對(duì)象
關(guān)于如何在php項(xiàng)目中實(shí)現(xiàn)一個(gè)單態(tài)設(shè)計(jì)模式就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。