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

首頁 > 開發 > PHP > 正文

php 設計模式之單例模式例子

2024-05-04 21:49:57
字體:
來源:轉載
供稿:網友

單例模式這個東西我相信有許多的朋友都不了解了,今天既然有學習到單例模式我就給各位整理一些小編學習用到的參考內容供各位學習。

1.定義

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

2.解決的問題/使用場景

在數據庫應用方面,使用單例模式,可以避免大量的new操作消耗的資源。
如果在系統中需要一個類來全局控制某些配置信息,那么使用單例模式可以很方便的實現。

3.實現單例模式的要點

需要一個保存類的唯一實例的靜態成員變量。

構造函數和克隆函數必須聲明為私有的,防止外部程序new類從而失去單例模式的意義。

需要提供一個訪問這個實例的靜態方法(一般為getInstance方法),返回實例的引用。

4.實現代碼示例

  1. <?php 
  2.  
  3. class Singleton 
  4.  
  5.  
  6.     private static $instance
  7.  
  8.     private $conn
  9.  
  10.   
  11.  
  12.     private function __construct() 
  13.  
  14.     { 
  15.  
  16.         $this->conn = mysql_connect(...); 
  17.  
  18.     } 
  19.  
  20.   
  21.  
  22.     private function __clone() 
  23.  
  24.     { 
  25.  
  26.     } 
  27.  
  28.   
  29.  
  30.     public static function GetInstance() 
  31.  
  32.     { 
  33.  
  34.         if (!(self::$instance instanceof self)) 
  35.  
  36.         { 
  37.  
  38.             slef::$instance = new self(); 
  39.  
  40.         } 
  41.  
  42.         return self::$instance
  43. //Vevb.com 
  44.     } 
  45.  
  46.   
  47.  
  48.     public function GetDbConnect() 
  49.  
  50.     { 
  51.  
  52.         return $this->conn; 
  53.  
  54.     } 
  55.  
  56.   
  57.  
  58.     public function selectData($sql
  59.  
  60.     { 
  61.  
  62.         // $result mysql_query($sql,$this->conn); 
  63.  
  64.         // while mysql_fetch_array($result).... 
  65.  
  66.     } 
  67.  
  68.  
  69.   
  70.  
  71. $db = Singleton::GetInstance(); 
  72.  
  73. $db->selectData("select * from user"); 
  74. ?> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绥化市| 诏安县| 稻城县| 富民县| 巴东县| 榆树市| 北辰区| 于都县| 镇雄县| 平利县| 察雅县| 措勤县| 六安市| 剑川县| 乐平市| 太仆寺旗| 岱山县| 大厂| 固阳县| 太白县| 育儿| 特克斯县| 都兰县| 罗山县| 治县。| 积石山| 永城市| 海兴县| 灌阳县| 伊金霍洛旗| 都匀市| 潜山县| 化州市| 柯坪县| 大同县| 西乌珠穆沁旗| 裕民县| 巴东县| 永济市| 陆良县| 商水县|