PHP 類單例模式

<?php
/**
* 單例模式
* 1. 它必須擁有一個構造函數,而且必須被標記爲private,讓類在外界沒法構造對象
* 2. 它們擁有一個保存類的實例的靜態成員變量
* 3. 它們擁有一個訪問這個實例的公共的靜態方法
* 單例類不能再其它類中直接實例化,只能被其自身實例化。它不會建立實例副本,而是會向單例類內部存儲的實例返回一個引用
*/php

class Single {函數

private static $instance;
private $name;this

private function __construct(){對象

}get

private function __clone(){io

}function

public static function getInstance(){
if(empty(self::$instance)){
self::$instance = new self();
}
return self::$instance;
}class

public function getName(){
return $this->name;
}變量

public function setName($name){
$this->name = $name;
}
}構造函數

$p1 = Single::getInstance();
$p2 = Single::getInstance();

$p1->setName("tom"); echo $p2->getName(); ?>

相關文章
相關標籤/搜索