PHP設計模式單例模式

單例模式確保某個類只有一個實例,而且自行實例化並向整個系統提供這個實例。
使用單例模式可以避免大量的new操作。因爲每一次new操作都會消耗系統和內存的資源。

私有的構造方法 (防止類外實例化)
私有的克隆方法 (防止通過克隆生成對象)
私有的靜態屬性 (保存類的實例)
公有的靜態方法 (調取這個類相當一個接口 )

class Pre
{
    private static $props = array();
    private static $instance;

    //防止使用 new 創建多個實例
    private function __construct()
    {

    }

    public static function getIn()
    {
        if(empty(static::$instance)){
            static::$instance = new Pre;
        }
        return static::$instance;
    }

    /**
     * 防止 clone 多個實例
     */
    private function __clone()
    {
    }
}
$res1 = Pre::getIn();
$res2 = Pre::getIn();
var_dump($res1);
var_dump($res2);

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章