php 單例模式

<?php
    /**
     * 單例模式,用於爲一個類生成一個唯一的對象。
     *
     * 1,私有的靜態變量存儲單例對象
     * 2,私有的構造函數,防止對象實例化
     * 3,私有的克隆函數,防止對象被克隆
     * 4,公有的獲得單例對象函數
     *
     * 使用場景:數據庫連接
     *
     **/
    class Single
    {
        
        // 私有的靜態變量存儲單例對象
        private static $_instance;

        /**
         * 私有的構造函數,防止實例化
         **/
        private function __construct() {

        }

        /**
         * 私有的克隆函數,防止對象克隆
         **/
        private function __clone() {

        }

        /**
         * 公有的獲得單例對象函數的獲得對象函數
         **/
        public function getInstance() {
            if ( !isset(self::$_instance) ) {
                self::$_instance = new self();
            }
            return self::$_instance;
        }
    }

    // 1,直接實例化,提示錯誤
    // $single = new Single();

    // 2,通過獲得實力方法
    $single = Single::getInstance();
    var_dump($single);

    // 3,克隆對象,提示錯誤
    // $single_clone = clone $single;
?>


資料:http://blog.csdn.net/lovelion/article/details/17517213

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