程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php單例模式實現(對象只被創建一次)

php單例模式實現(對象只被創建一次)

編輯:PHP綜合

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

    必須擁有一個構造函數,並且必須被標記為private。
    擁有一個保存類的實例的靜態成員變量。
    擁有一個訪問這個實例的公共的靜態方法

具體使用方面,我在下面php實例中注釋的很清楚:
復制代碼 代碼如下:
<?php
 /**
  * by www.phpddt.com
  */
 class Mysql{
  //該屬性用來保存實例
  private static $conn;
  //構造函數為private,防止創建對象
  private function __construct(){
   $this->conn = mysql_connect('localhost','root','');
  }
  //創建一個用來實例化對象的方法
  public static function getInstance(){
   if(!(self::$conn instanceof self)){
    self::$conn = new self;
   }
   return self::$conn;
  }
  //防止對象被復制
  public function __clone(){
   trigger_error('Clone is not allowed !');
  }

 }
 //只能這樣取得實例,不能new 和 clone
 $mysql = Mysql::getInstance();
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved