好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > PHP中單例模式的使用場景與使用方法講解

PHP中單例模式的使用場景與使用方法講解

熱門標簽:阿里云400電話申請加工單 西區(qū)企業(yè)怎么做地圖標注入駐 九江外呼系統(tǒng) 地下城堡2圖九地圖標注 七魚外呼系統(tǒng)停用嗎 智能電話機器人排名前十名南京 抖音有個地圖標注是什么意思 保定crm外呼系統(tǒng)運營商 海南人工外呼系統(tǒng)有效果嗎

單例模式按字面來看就是指某一個類只存在一個實例,這一點其實是與靜態(tài)方法是相同的,只存在一個實例的好處是當我們需要使用某個類時只需要實例化一次,不需要每次都去new,極大的降低了資源的耗費,比如說數據庫的連接類。

一個類只有一個對象實例含義  

作為對象的創(chuàng)建模式,單例模式確保某一個類只有一個實例,而且自行實例化并向整個系統(tǒng)全局地提供這個實例。它不會創(chuàng)建實例副本,而是會向單例類內部存儲的實例返回一個引用。

那么單例模式與靜態(tài)方法有什么區(qū)別呢?

個人觀點,如果不存在比較復雜的事務管理,用singleton會比較好,原因有三:

  • 1、單例可以繼承類,實現接口,而靜態(tài)類不能(可以集成類,但不能集成實例成員);
  • 2、單例可以被延遲初始化,靜態(tài)類一般在第一次加載是初始化;
  • 3、單例模式在使用中比靜態(tài)方法更靈活;

雖然這樣說,但到底該選用單例還是靜態(tài),我們還需要視實際情況而定,在設計模式中我們應該做到的是:減少代碼,增加穩(wěn)定,方便理解,提升性能,減少開銷。

扯遠了,下面我們說回PHP中單例模式的使用。

單例類至少擁有以下三種公共元素:

  • 1、必須擁有一個構造函數,并且必須被標記為private。
  • 2、擁有一個保存類的實例的靜態(tài)成員變量。
  • 3、擁有一個訪問這個實例的公共的靜態(tài)方法。

單例模式確保某個類只有一個實例,而且自行實例化并向整個系統(tǒng)提供這個實例。

單例模式是一種常見的設計模式,在計算機系統(tǒng)中,線程池、緩存、日志對象、對話框、打印機、數據庫操作、顯卡的驅動程序常被設計成單例。

單例模式分3種:懶漢式單例、餓漢式單例、登記式單例。

單例模式有以下3個特點:

1.只能有一個實例。

2.必須自行創(chuàng)建這個實例。

3.必須給其他對象提供這一實例。

那么為什么要使用PHP單例模式?

PHP一個主要應用場合就是應用程序與數據庫打交道的場景,在一個應用中會存在大量的數據庫操作,針對數據庫句柄連接數據庫的行為,使用單例模式可以避免大量的new操作。因為每一次new操作都會消耗系統(tǒng)和內存的資源。

具體使用例子:

?php
/**
 * by www.jb51.net
 */
class Mysql{
 //該屬性用來保存實例
 private static $instance;
 private $conn;
 //構造函數為private,防止創(chuàng)建對象
 private function __construct(){
 $this->conn = mysql_connect('localhost','root','123456');
 //...
 }
 //創(chuàng)建一個用來實例化對象的方法
 public static function getInstance(){
 if(!(self::$instance instanceof self)){
  self::$instance = new self;
 }
 return self::$instance;
 }
 //防止對象被復制
 public function __clone(){
 trigger_error('Clone is not allowed !');
 }
 //...
 public function query(){
 //do something
 }
}
//使用單例調用類中的方法,不能new 和 clone
Mysql::getInstance()->query();
?>

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

您可能感興趣的文章:
  • PHP實現單例模式建立數據庫連接的方法分析
  • PHP中用Trait封裝單例模式的實現
  • PHP中常用的三種設計模式詳解【單例模式、工廠模式、觀察者模式】
  • php Redis函數用法實例總結【附php連接redis單例類】
  • php的單例模式及應用場景詳解

標簽:十堰 九江 甘肅 遼陽 涼山 韶關 梅河口 昭通

巨人網絡通訊聲明:本文標題《PHP中單例模式的使用場景與使用方法講解》,本文關鍵詞  PHP,中單例,模式,的,使用,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP中單例模式的使用場景與使用方法講解》相關的同類信息!
  • 本頁收集關于PHP中單例模式的使用場景與使用方法講解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 美国大毛片| 777色婷婷AV一区二区三yy| 久久精品丰满熟女| 欧美性猛交乱大交XXXXⅩOOO视频 欧美黑人猛男做爰XXXⅩ | 国产精品公开免费视频| 国际精品网专线| 99se 综合久久| 日日噜噜噜噜人人爽亚洲精品| 欧美丰满一区二区免费视频| 善良的公与媳HD| 香港邵氏三级午夜bd| 黄色软件网站下载| 欧美人乱人精品A片| 国产精品嫩草影院永久更新时间 | 校花两腿中间被同桌摸出水了动漫 | 野花高清在线观看视频| 妻子年轻出轨老了老公要离婚| 真人妇科检查138gb| 365天第二季无删除完整翻译| gogo大胆高清免费视频| 极致宫交(h)| 一级女毛片| 久久水蜜桃国产免费二区| 日本五级床片在线观看| 91亚洲国产AⅤ精品一区二区| 公主催眠| 英语老师解开乳罩喂我奶| 久爱成疾在线观看视频在线最新 | 顶弄h粗暴男女| 桃花在线视频社区| 好吊色妇女免费视频免费| 大团圆结1一39全文阅读| 5g影院天天5g天天爽在线登录| 久久久国产精华液2024特点| 免费男女性高爱潮高清试看凵| 韩彩英拍的三星片叫什么名字来着| 江达县| lang77伊人色| 日本男男年轻同志videosbest| 九色91在线| 英语今天晚上让你桶个够|