国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

淺談對PHP單例模式的理解以及示例代碼

2020-03-22 20:27:40
字體:
來源:轉載
供稿:網友

本文是關于對PHP單例模式理解,感興趣的朋友來了解一下吧!

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

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

的,真正可以做到這個實例在應用程序生命周期中的唯一性。然而在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視頻教程

以上就是淺談對PHP單例模式的理解以及示例代碼的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 万年县| 萍乡市| 信阳市| 满城县| 桂平市| 光泽县| 田东县| 平凉市| 延长县| 元阳县| 康保县| 广灵县| 克什克腾旗| 左云县| 临漳县| 沙河市| 枝江市| 张北县| 松潘县| 喀喇沁旗| 林甸县| 衡阳市| 平山县| 红安县| 宜宾县| 酒泉市| 布拖县| 康乐县| 皋兰县| 屏边| 双峰县| 博白县| 勃利县| 外汇| 肥东县| 伊吾县| 伊金霍洛旗| 大丰市| 水富县| 通山县| 上饶县|