真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何使用php實(shí)現(xiàn)單例模式

如何使用php實(shí)現(xiàn)單例模式?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

皮山ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書(shū)合作)期待與您的合作!

php實(shí)現(xiàn)單例模式的方法:要實(shí)現(xiàn)單例模式需要保證一個(gè)類(lèi)只有一個(gè)實(shí)例,并提供一個(gè)訪問(wèn)它的全局訪問(wèn)點(diǎn)。單例模式不會(huì)創(chuàng)建實(shí)例副本,而是會(huì)向單例類(lèi)內(nèi)部存儲(chǔ)的實(shí)例返回一個(gè)引用。

單例模式的定義:

保證一個(gè)類(lèi)只有一個(gè)實(shí)例,并提供一個(gè)訪問(wèn)它的全局訪問(wèn)點(diǎn)。它不會(huì)創(chuàng)建實(shí)例副本,而是會(huì)向單例類(lèi)內(nèi)部存儲(chǔ)的實(shí)例返回一個(gè)引用。

單例模式的三要素:

  • 需要一個(gè)保存類(lèi)的唯一實(shí)例的靜態(tài)成員變量。

  • 構(gòu)造函數(shù)和克隆函數(shù)必須聲明為私有的,防止外部程序創(chuàng)建或復(fù)制實(shí)例副本。

  • 必須提供一個(gè)訪問(wèn)這個(gè)實(shí)例的公共靜態(tài)方法,從而返回唯一實(shí)例的一個(gè)引用。

代碼實(shí)現(xiàn):

class Singleton
{
    //創(chuàng)建靜態(tài)私有的變量保存該類(lèi)對(duì)象
    static private $instance;

    //防止使用new直接創(chuàng)建對(duì)象
    private function __construct(){}

    //防止使用clone克隆對(duì)象
    private function __clone(){}

    static public function getInstance()
    {
        //判斷$instance是否是Singleton的對(duì)象,不是則創(chuàng)建
        if (!self::$instance instanceof self) {
            self::$instance = new self();
        }
        return self::$instance;
    }

    public function test()
    {
        echo "我是一個(gè)單例模式";
    }
}

$sing = Singleton::getInstance();
$sing->test();
$sing2 = new Singleton(); //Fatal error: Uncaught Error: Call to private Singleton::__construct() from invalid context in
$sing3 = clone $sing; //Fatal error: Uncaught Error: Call to private Singleton::__clone() from context

看完上述內(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)頁(yè)名稱:如何使用php實(shí)現(xiàn)單例模式
標(biāo)題路徑:http://weahome.cn/article/pdcege.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部