一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php設計模式之單例模式使用示例

php設計模式之單例模式使用示例

2020-06-06 15:37PHP教程網 PHP教程

單例模式也就是只能實例化一次,也就代表在實例化時不可能使用new關鍵字,下面是使用示例,大家參考使用吧

以下為單例模式代碼:
 

復制代碼 代碼如下:


<?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()方法的條件為假了!!!
 * 也就代表其中的程序代表不可能執行了!!!
 * 也就代表將直接返回以前的值了!!!
 *
 *
 *
 * */

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 四虎成人免费大片在线 | www.精品在线 | 亚洲AV国产福利精品在现观看 | 免费国产成人 | julia ann多人乱战 | a一区二区三区视频 | 美味情缘韩国在线观看视频 | 四虎永久在线精品波多野结衣 | 色老板在线播放 | 四虎永久在线精品国产 | gangbang日本 | 波多野结衣一区免费作品 | 九九精品99久久久香蕉 | 九九大香尹人视频免费 | 3d蒂法精品啪啪一区二区免费 | 午夜爽喷水无码成人18禁三级 | 高清不卡免费一区二区三区 | 黄a 大片a v 永久免费 | 成人亚洲欧美综合 | 国产yw193.㎝m在线观看 | 国产精品美女久久久久 | 亚洲欧美在线观看一区二区 | 青青草高清视频 | 波多野结衣快播 | 色综合久久日韩国产 | 1024视频色版在线网站 | 成人欧美视频在线看免费 | 久久久久影视 | 男人曰女人 | www在线免费观看 | 99热热99| 青草青草视频 | 欧美一级免费看 | 欧美添下面视频免费观看 | 5555国产在线观看精品 | 国产精品天天看特色大片不卡 | 99久久精品免费看国产一区二区 | 日日操天天爽 | 午夜在线观看免费完整直播网 | 我的青梅竹马是消防员2季未增删免费 | 人体欣赏孕妇季玥图片 |