91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php中怎么使用單例模式

發布時間:2021-07-22 16:31:30 來源:億速云 閱讀:119 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關php中怎么使用單例模式,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

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

看完上述內容,你們對php中怎么使用單例模式有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

阜宁县| 纳雍县| 赣榆县| 同德县| 浦城县| 灯塔市| 贡觉县| 梁山县| 昌黎县| 炉霍县| 陈巴尔虎旗| 乌什县| 东台市| 鄢陵县| 榆中县| 株洲市| 布拖县| 潞城市| 文登市| 咸丰县| 上林县| 蕉岭县| 墨竹工卡县| 曲沃县| 和龙市| 泗阳县| 密山市| 冀州市| 东乌| 成都市| 鹰潭市| 永和县| 香格里拉县| 宕昌县| 嘉定区| 石景山区| 清镇市| 普洱| 义马市| 台东县| 樟树市|