最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2014年01月20日 15:56:33   作者:  
單例模式也就是只能實例化一次,也就代表在實例化時不可能使用new關(guān)鍵字,下面是使用示例,大家參考使用吧

以下為單例模式代碼:

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

相關(guān)文章

  • PHP編寫daemon process 實例詳解

    PHP編寫daemon process 實例詳解

    這篇文章主要介紹了PHP編寫daemon process 實例詳解的相關(guān)資料,這里提供實例代碼,及詳細講解,需要的朋友可以參考下
    2016-11-11
  • PHP檢查URL包含特定字符串實例方法

    PHP檢查URL包含特定字符串實例方法

    在本篇文章里,小編給大家分享了使用PHP檢查URL是否包含特定字符串的相關(guān)操作方法,有需要的朋友們學(xué)習(xí)下。
    2019-02-02
  • Laravel中簡約卻不簡單的Macroable宏指令詳解

    Laravel中簡約卻不簡單的Macroable宏指令詳解

    這篇文章主要給大家介紹了關(guān)于Laravel中簡約卻不簡單的Macroable宏指令的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧
    2018-07-07
  • php實現(xiàn)telnet功能示例

    php實現(xiàn)telnet功能示例

    這篇文章主要介紹了php實現(xiàn)telnet功能示例,需要的朋友可以參考下
    2014-04-04
  • ThinkPHP實現(xiàn)簡單登陸功能

    ThinkPHP實現(xiàn)簡單登陸功能

    這篇文章主要為大家詳細介紹了ThinkPHP實現(xiàn)簡單登陸功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • thinkPHP數(shù)據(jù)庫增刪改查操作方法實例詳解

    thinkPHP數(shù)據(jù)庫增刪改查操作方法實例詳解

    這篇文章主要介紹了thinkPHP數(shù)據(jù)庫增刪改查操作方法,結(jié)合實例形式詳細分析了thinkPHP常用數(shù)據(jù)庫操作函數(shù)與相關(guān)使用技巧,需要的朋友可以參考下
    2016-12-12
  • PHP 數(shù)組黑名單/白名單實例代碼詳解

    PHP 數(shù)組黑名單/白名單實例代碼詳解

    這篇文章主要介紹了PHP 數(shù)組黑名單/白名單,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06
  • Thinkphp中volist標簽mod控制一定記錄的換行BUG解決方法

    Thinkphp中volist標簽mod控制一定記錄的換行BUG解決方法

    這篇文章主要介紹了Thinkphp中volist標簽mod控制一定記錄的換行BUG解決方法,涉及針對標簽執(zhí)行語句順序的修改,非常具有實用價值,需要的朋友可以參考下
    2014-11-11
  • Laravel 重寫日志,讓日志更優(yōu)雅

    Laravel 重寫日志,讓日志更優(yōu)雅

    這篇文章主要介紹了Laravel 重寫日志,讓日志更優(yōu)雅,laravel框架俗稱優(yōu)雅的框架,所以有想對laravel中的日志重寫使其更加方便的記錄信息獲取信息的同學(xué)可以參考下
    2021-03-03
  • 詳解PHP中strlen和mb_strlen函數(shù)的區(qū)別

    詳解PHP中strlen和mb_strlen函數(shù)的區(qū)別

    在PHP中,strlen與mb_strlen是求字符串長度的函數(shù),但是對于一些初學(xué)者來說,如果不看手冊,也許不太清楚其中的區(qū)別
    2014-03-03

最新評論

罗源县| 自贡市| 海阳市| 长宁县| 南澳县| 翁牛特旗| 米脂县| 娱乐| 新昌县| 阿拉尔市| 临沂市| 榆中县| 峨山| 北辰区| 吴江市| 根河市| 绍兴县| 盱眙县| 黄骅市| 柏乡县| 太白县| 扎囊县| 阳春市| 宁南县| 枣庄市| 湖南省| 宜丰县| 垦利县| 军事| 财经| 徐闻县| 邵阳市| 新乡县| 鄢陵县| 隆昌县| 沁水县| 潜江市| 彰化县| 桃源县| 伊金霍洛旗| 高阳县|