組合使用靜態方法和靜態變數保持這個實例,並且設定建構子為私有,以防止直接實例化類別而建立實例,程式碼如下:
class DbConn {
/**
* 保存單例實例的靜態屬性
*/
static $instance = false;
/**
* 建構子
* 私有,因此只有 getInstance() 方法可以實例化
* @return void
* @return void
*/
private function __construct() {}
/**
* 傳回單例實例的工廠方法
* @return DbConn
*/
public function getInstance() {
if (!DbConn::$instance) {
DbConn::$instance = new DbConn;
}
}
以上就介紹了PHP設計模式──單例模式,包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。