單例模式
使某個(gè)類的對(duì)象僅允許創(chuàng)建一個(gè)(減少資源浪費(fèi))
定義
<?php
class Test{
//私有屬性,用于保存實(shí)例
private static $instance;
//構(gòu)造方法私有化,防止外部創(chuàng)建實(shí)例
private function __construct(){}
//公有方法,用于獲取實(shí)例
public static function getInstance(){
//判斷實(shí)例有無創(chuàng)建,沒有的話創(chuàng)建實(shí)例并返回,有的話直接返回
if(!(self::$instance instanceof self)){
self::$instance = new self();
}
return self::$instance;
}
//克隆方法私有化,防止復(fù)制實(shí)例
private function __clone(){}
}
- 使用
$first = Test::getInstance(); - 好處
減少資源(mysql鏈接)浪費(fèi)