中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

PHP單例模式的案例分析

發布時間:2020-10-31 00:43:09 來源:億速云 閱讀:300 作者:小新 欄目:編程語言

小編給大家分享一下PHP單例模式的案例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

                                                           

為什么會使用單例模式?
在網上查了一下資料,記錄一下也方便自己以后查看。
單例模式顧名思義,只有一個實例。可以節約內存和資源,主要是php在和數據庫打交道的時候,每new一次對象都會消耗一定的資源。

眾所周知,PHP語言是一種解釋型的腳本語言,這種運行機制使得每個PHP頁面被解釋執行后,所有的相關資源都會被回收。也就是說,PHP在語言級別上沒有辦法讓某個對象常駐內存,這和asp.net、Java等編譯型是不同的,比如在Java中單例會一直存在于整個應用程序的生命周期里,變量是跨頁面級

的,真正可以做到這個實例在應用程序生命周期中的唯一性。然而在PHP中,所有的變量無論是全局變量還是類的靜態成員,都是頁面級的,每次頁面被執行時,都會重新建立新的對象,都會在頁面執行完畢后被清空,這樣似乎PHP單例模式就沒有什么意義了,所以PHP單例模式我覺得只是針對單次頁面

級請求時出現多個應用場景并需要共享同一對象資源時是非常有意義的。

話不多說,先上代碼

<?php

class User
{
   /*
    * 1、創建一個存放對象的私有化靜態變量
    * 2、私有化克隆方法
    * 3、私有化構造方法
    * 4、創建實例化對象的唯一入口
    *
    * **/
   private static $_instance = '';
   private function __clone(){}
   private function __construct(){}
   static public function getInstance()
   {
       if(is_null(self::$_instance) || isset(self::$_instance)){
           self::$_instance = new User();
       }
       return self::$_instance;
   }
   public function getIp()
   {
       return $_SERVER['SERVER_ADDR'];
   }
}
$op =  User::getInstance();
echo $op->getIp();

以上是PHP單例模式的案例分析的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

隆安县| 舟曲县| 沂源县| 琼海市| 钦州市| 宝清县| 图木舒克市| 舟曲县| 葫芦岛市| 永靖县| 盐城市| 新疆| 志丹县| 桐城市| 灌阳县| 延安市| 东丽区| 大安市| 镇康县| 东乌| 固安县| 吉林省| 镶黄旗| 景谷| 改则县| 马山县| 白朗县| 曲阜市| 渑池县| 泗洪县| 邯郸县| 淳化县| 恩施市| 孝义市| 城步| 桂阳县| 康保县| 鄱阳县| 隆子县| 望奎县| 荥阳市|