應用場景:

在一次http請求中,多個地方使用到了數據庫連接,使用單例可以只需要創建一個連接。
一個龐大的類被多次實例化的時候,會浪費巨大的內存空間。使用單例模式可以使多個對象共享內存中存在類的靜態空間。
代碼示例:
<?php
//final防止類被繼承
final class DBHelper{
//初始化實例 含義:$install = new DBHelper()...
private static $instance=null;
//構造器私有,防止類外部實例化
private function __construct(){
//連接數據庫操作
}
//獲取實例
public static function getInstance(){
if(!(self::$instance instanceof self)){
self::$instance=new self;
}
return self::$instance;
}
//防止實例被克隆
private function __clone(){
}
}
?>驗證:
$conn1=DBHelper::getInstance(); $conn2=DBHelper::getInstance(); echo $conn1 === $conn2;
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
分享標題:PHP設計模式:單例模式-創新互聯
標題來源:http://www.yijiale78.com/article20/ddcpco.html
成都網站建設公司_創新互聯,為您提供企業建站、網站內鏈、微信小程序、網頁設計公司、網站導航、虛擬主機
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯