1. 程式人生 > >【PHP】設計模式--單例模式

【PHP】設計模式--單例模式

單例模式按字面來看就是某一個類只有一個例項,這樣做的好處還是很大的,比如說資料庫的連線,我們只需要例項化一次,不需要每次都去new了,這樣極大的降低了資源的耗費。

單例類至少擁有滿足以下三個要求:

  • 必須擁有一個建構函式,並且必須被標記為private。
  • 擁有一個儲存類的例項的靜態成員變數。
  • 擁有一個訪問這個例項的公共的靜態方法

簡單的可以按”三私一公”來記憶。

<?php
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
; } //防止物件被複制 private function __clone(){ //trigger_error('Clone is not allowed !'); } } //只能這樣取得例項,不能new 和 clone $mysql = Mysql::getInstance(); ?>