成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

一文帶你搞懂PHP單例模式

瀏覽:244日期:2022-06-06 10:36:17
目錄
  • 簡(jiǎn)介
  • 場(chǎng)景
  • 優(yōu)點(diǎn)
  • 缺點(diǎn)
  • 示例代碼

簡(jiǎn)介

單例模式是創(chuàng)建型對(duì)象的一種,用于如何優(yōu)雅的創(chuàng)建對(duì)象。

讓一個(gè)類(lèi)最多產(chǎn)生一個(gè)對(duì)象。

場(chǎng)景

只需要一個(gè)對(duì)象就能解決并且要使用多次的場(chǎng)景,比如框架的數(shù)據(jù)庫(kù)連接。

優(yōu)點(diǎn)

減少資源消耗,一個(gè)對(duì)象能完成的事情,就不需要再實(shí)例化出來(lái)同樣的東西。

缺點(diǎn)

對(duì)象生命周期都是頁(yè)面級(jí)的,每次頁(yè)面被執(zhí)行時(shí),都會(huì)重新建立新的對(duì)象,都會(huì)在頁(yè)面執(zhí)行完畢后被清空,這樣似乎PHP單例模式意義不大。

示例代碼

class Demo {
    //聲明一個(gè)存儲(chǔ)對(duì)象的方法
    private static $obj;
    //防止當(dāng)前類(lèi)的外部進(jìn)行實(shí)例化
    private function __construct() {}
    //防止當(dāng)前類(lèi)的外部進(jìn)行克隆
    private function __clone() {}
    //聲明一獲取示例的方案
    public static function getInstance() {
if(self::$obj === null) {
    self::$obj = new self();
}
return self::$obj;
    }
    public function otherFunction() {
//todo ...
    }
}

測(cè)試代碼:

class Demo {
    //聲明一個(gè)存儲(chǔ)對(duì)象的方法
    private static $obj;
    //防止當(dāng)前類(lèi)的外部進(jìn)行實(shí)例化
    private function __construct() {}
    //防止當(dāng)前類(lèi)的外部進(jìn)行克隆
    private function __clone() {}
    //聲明一獲取示例的方案
    public static function getInstance() {
if(self::$obj === null) {
//在此處打印數(shù)據(jù)到文件,可清楚的看出來(lái)執(zhí)行了幾次。
//靜態(tài)方法或者靜態(tài)屬性可以稱(chēng)之為類(lèi)變量或者類(lèi)屬性,會(huì)隨著類(lèi)的加載一并加載到內(nèi)存當(dāng)中。
    file_put_contents("F:/stdout.txt", 1,FILE_APPEND);
    self::$obj = new self();
}
return self::$obj;
    }
    public function otherFunction() {
//todo ...
    }
}
//類(lèi)的外部執(zhí)行了5次實(shí)例化操作
for($i = 0; $i < 5; $i++) {
    Demo::getInstance();
}

升級(jí)版本:

如果每一個(gè)類(lèi)都寫(xiě)一個(gè)單例模式的話,會(huì)顯得有重復(fù)的代碼,為此可以用繼承去解決這個(gè)問(wèn)題。

此時(shí)self就需要修改為static,不然self是當(dāng)前對(duì)象而不是子類(lèi)對(duì)象。

static::方法或?qū)傩裕@種使用稱(chēng)為后期靜態(tài)綁定。

這和但是static 修飾成員屬性或者成員方法,一個(gè)是使用,一個(gè)是修飾。

class Singleton {
    //聲明一個(gè)存儲(chǔ)對(duì)象的方法
    private static $obj;
    //防止當(dāng)前類(lèi)的外部進(jìn)行實(shí)例化
    private function __construct() {}
    //防止當(dāng)前類(lèi)的外部進(jìn)行克隆
    private function __clone() {}
    //聲明一獲取示例的方案
    public static function getInstance() {
    	//檢測(cè)$obj是否為空并是否不屬于當(dāng)前類(lèi)
if(((static::$obj === null) && (! static::$obj instanceof static))) {
    static::$obj = new static();
}
return static::$obj;
    }
}
class Test extends Singleton {
    public function func() {
return mt_rand(0, 10);
    }
}
//使用:
Test::getInstance()->func();

到此這篇關(guān)于一文帶你搞懂PHP單例模式的文章就介紹到這了,更多相關(guān)PHP單例模式內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

標(biāo)簽: PHP
相關(guān)文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
91免费观看视频在线| 欧美日本亚洲韩国国产| 成人激情小说乱人伦| 久久一日本道色综合久久| 综合久久久久综合| 欧美激情91| 欧美精品一区二区三区蜜桃视频| 美女www一区二区| 男女精品网站| 国产三级精品视频| 国产一区亚洲一区| 在线亚洲欧美专区二区| 亚洲 欧美综合在线网络| 国产欧美三级| 亚洲欧美在线另类| 欧美日韩亚洲一区二区三区在线观看 | 日韩免费看的电影| 另类小说欧美激情| 色哟哟在线观看一区二区三区| 亚洲综合视频在线| 国产精品毛片| 一区二区三区在线观看视频| 在线免费日韩片| 一区二区中文视频| 国产一区视频观看| 国产欧美一区二区三区鸳鸯浴| 国产成人8x视频一区二区| 欧美美女黄视频| 另类中文字幕网| 久久久亚洲一区| 亚洲成国产人片在线观看| 欧美一级久久| 日韩高清不卡一区二区| 久久午夜精品| 免费国产亚洲视频| 欧美色精品在线视频| 久草这里只有精品视频| 欧美日本乱大交xxxxx| 国产一区二区导航在线播放| 在线播放一区二区三区| 国产一区二区三区四| 欧美日韩亚洲丝袜制服| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲激情视频| 最新国产成人在线观看| 夜夜精品视频| 亚洲国产你懂的| 色播五月激情综合网| 美女视频网站久久| 欧美欧美欧美欧美首页| 国产精品99久久久久久久vr| 欧美一卡二卡在线| 成人av在线播放网站| 精品少妇一区二区三区视频免付费 | 日日夜夜免费精品视频| 日本韩国一区二区| 国内精品免费在线观看| 337p亚洲精品色噜噜狠狠| 国产老肥熟一区二区三区| 91精品国产91综合久久蜜臀| 国产二区国产一区在线观看| 久久免费美女视频| 91小视频免费观看| 中文字幕成人av| aa日韩免费精品视频一| 亚洲成av人影院| 一本在线高清不卡dvd| 精彩视频一区二区三区| 精品国产91洋老外米糕| 国产精品国产精品| 午夜激情综合网| 欧美老肥妇做.爰bbww视频| 成人黄色片在线观看| 国产精品国产三级国产普通话蜜臀| 在线看片一区| 久久se精品一区精品二区| 欧美精品一区二区三区蜜桃视频| 黄色亚洲在线| 麻豆国产精品官网| 欧美va在线播放| 激情视频一区二区| 午夜成人免费电影| 日韩一区二区免费电影| 欧美日韩网站| 图片区日韩欧美亚洲| 欧美一级日韩一级| 欧美不卡视频| 亚洲一区中文日韩| 久久精品国产综合精品| 精品亚洲国内自在自线福利| 久久蜜桃一区二区| 亚洲免费黄色| 日韩av一区二区在线影视| 欧美日本在线一区| 欧美精品尤物在线| 视频在线在亚洲| 精品国产91九色蝌蚪| 亚洲视频免费| 奇米色一区二区| 国产午夜精品久久久久久久| 国产亚洲精品bv在线观看| 国产一区二区免费视频| 国产精品毛片无遮挡高清| 色乱码一区二区三区88| 成人理论电影网| 亚洲黄色免费网站| 精品久久久久久亚洲综合网| 久久一区视频| 欧美成人精品| 免费观看30秒视频久久| 欧美国产日本视频| 久久综合九色99| 成人av在线一区二区| 亚洲老司机在线| 欧美日韩国产天堂| 狠狠干成人综合网| 日本不卡免费在线视频| 久久久久久电影| 色94色欧美sute亚洲线路二| www.亚洲色图| 日韩国产欧美视频| 欧美国产禁国产网站cc| 欧美日韩mp4| 一区二区91| 91丨九色丨蝌蚪丨老版| 人妖欧美一区二区| 亚洲色图清纯唯美| 日韩免费一区二区三区在线播放| 亚洲欧美久久| 色综合中文综合网| 99久久精品一区二区| 麻豆精品一区二区av白丝在线| 国产精品美女久久久久久| 在线不卡a资源高清| 亚洲欧美久久| 伊人久久亚洲美女图片| 丰满放荡岳乱妇91ww| 日本成人在线电影网| 国产精品国产三级国产aⅴ入口| 欧美性大战久久久久久久蜜臀| 亚洲第一黄网| thepron国产精品| 久久福利资源站| 亚洲一区在线观看视频| 国产午夜精品久久久久久免费视 | 九九九久久久精品| 亚洲一区在线看| 国产精品久久久久7777按摩 | 亚洲高清自拍| 99久久亚洲一区二区三区青草| 久久精品国产澳门| 五月天中文字幕一区二区| 亚洲色图在线播放| 国产三级精品视频| 日韩免费视频线观看| 欧美日韩亚洲不卡| 色94色欧美sute亚洲13| 99re66热这里只有精品4| 国产中文一区| 91片黄在线观看| 国产成人精品免费网站| 久久99精品国产麻豆婷婷| 无吗不卡中文字幕| 亚洲女同女同女同女同女同69| 久久久久久久久免费| 欧美一区二区福利视频| 欧美日韩亚洲综合在线| 91久久精品一区二区二区| 亚洲少妇一区| 日韩网站在线| 精品9999| 国产精品hd| 欧美日韩在线不卡一区| 99久精品国产| av亚洲精华国产精华| 国产成人av在线影院| 国产精品一区二区不卡| 国内成人自拍视频| 精品亚洲免费视频| 国内精品伊人久久久久影院对白| 青青草精品视频| 手机精品视频在线观看| 天堂蜜桃91精品| 日韩二区在线观看| 日本亚洲视频在线| 免费成人美女在线观看| 久久精品99国产国产精| 久久97超碰色| 精品在线亚洲视频| 裸体健美xxxx欧美裸体表演| 日韩vs国产vs欧美| 免费国产亚洲视频| 麻豆成人91精品二区三区| 蜜臀91精品一区二区三区 | 7777精品伊人久久久大香线蕉的| 精品视频一区三区九区| 欧美精品第1页| 欧美一区二区三区视频| 日韩精品一区二区在线观看| 久久伊人蜜桃av一区二区|