復(fù)制代碼 代碼如下:<?phpclass EasyFramework_Easy_Mysql{ protected static $_instance = null; private function __construct(){

} public static function getInstance(){ " /> 国产小视频网站,成人午夜视频在线观看,超碰一区

中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

php設(shè)計(jì)模式之單例模式使用示例

以下為單例模式代碼:

復(fù)制代碼 代碼如下:
<?php
class EasyFramework_Easy_Mysql{
    protected static $_instance = null;
    private function __construct(){

    }
    public static function getInstance(){
        if (self::$_instance === null){
            self::$_instance = new self();
        }
        return self::$_instance;
    }

    protected function __clone(){

    }

}

$x = EasyFramework_Easy_Mysql::getInstance();

var_dump($x);


?>


/*
 * 1.第一步:
 * 既然是單例,也就是只能實(shí)例化一次,也就代表在實(shí)例化時(shí)
 * 不可能使用new關(guān)鍵字!!!!
 * 在使用new關(guān)鍵字時(shí),類中的構(gòu)造函數(shù)將自動(dòng)調(diào)用。
 * 但是,如果我們將構(gòu)造函數(shù)的訪問控制符設(shè)置為protected或private
 * 那么就不可能直接使用new關(guān)鍵字了!!!
 * 第二步:
 * 無論protected/private修飾的屬性或方法,請(qǐng)問在當(dāng)前類的
 * 內(nèi)部是否可以訪問?---> 可以
 * 第三步:
 * 現(xiàn)在我們根本沒有辦法得到對(duì)象(因?yàn)槟悴荒苁褂胣ew關(guān)鍵字了),
 * 第四步:靜態(tài)成員(包括屬性或方法)在訪問時(shí),只能通過
 * 類名稱::屬性()
 * 類名稱::方法()
 * 第五步:如果我現(xiàn)在存在一個(gè)靜態(tài)方法--> getInstance()
 * 那么在調(diào)用時(shí)就應(yīng)寫成
 * $object = EasyFramework_Easy_Mysql::getInstance()
 * 如果,getInstance()方法可以得到唯一的一個(gè)對(duì)象
 * 也就代表是所謂的單例模式了!!!
 * 第六步,怎么讓getInstace()只得到一個(gè)對(duì)象呢?
 * 既然要得到對(duì)象,那么肯定是:
 * $variabl = new ????();
 * 我們又知道靜態(tài)屬性的值是可以所有的對(duì)象來繼承的!!!
 * 靜態(tài)成員是屬于類的,而非對(duì)象的!
 * 所以:
 * 第七步:聲明一個(gè)靜態(tài)的屬性,用其存儲(chǔ)實(shí)例化的對(duì)象
 * protectd static $_instance
 *
 * 并且初始值為null
 * 那么我在調(diào)用getInstance()方法時(shí),只需要判斷其值是否為空即可/
 *
 * public static function getInstance(){
 *     if(self::_instance === null){
 *      self::_instance = new self();
 *  }
 *  return self::_instance;
 * }
 * 在實(shí)例時(shí),一定是這樣寫:
 * $x = EasyFramework_Easy_Mysql::getInstance();
 * 在第一時(shí)調(diào)用時(shí),類的$_instance這個(gè)靜態(tài)屬性值為null,
 * 那么也就代表,getInstance()方法的判斷條件為真了,
 * 也就意味著
 * self::$_instance這個(gè)成員有了值了!!!
 * 并且還返回這個(gè)值
 * $y = EasyFramework_Easy_Mysql::getInstance();
 * 在第二次或第N次調(diào)用時(shí),self::$_instance已經(jīng)有了值了
 * 也就代表getInstance()方法的條件為假了!!!
 * 也就代表其中的程序代表不可能執(zhí)行了!!!
 * 也就代表將直接返回以前的值了!!!
 *
 *
 *
 * */

php技術(shù)php設(shè)計(jì)模式之單例模式使用示例,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 在线免费激情视频 | 亚洲一区二区在线播放 | 国产在线精品一区二区三区 | 久久久网 | 亚洲二区在线 | 免费国产一区二区 | 欧美一区二区视频 | 亚洲精品视频免费 | av片毛片 | 91精品国产综合久久精品图片 | 美女视频黄色的 | 国产精品69毛片高清亚洲 | 久久久久久久久久久高潮一区二区 | 精品久久电影 | 久久久久国产一区二区三区四区 | 国产一区久久精品 | 国产高清视频 | 国产精品免费一区二区三区 | 成人一区二区三区在线观看 | 日韩快播电影 | 777zyz色资源站在线观看 | 久久久久国产成人精品亚洲午夜 | 欧美1区| 狠狠色狠狠色综合系列 | 国产免费又黄又爽又刺激蜜月al | 欧美一区二区在线播放 | 欧美日韩综合一区 | 欧美精品一区久久 | 国产在线精品一区二区三区 | 美女久久 | 亚洲精品aⅴ | 99精品欧美一区二区三区 | 一区二区三区在线 | 欧美日韩1区2区 | 日韩免费高清视频 | 欧美性网| 亚洲高清在线 | 国产网站在线播放 | 免费一区在线 | 免费毛片网 | 精品视频一区二区三区在线观看 |