php單例模式

目前正在學習php,這是一個 單例模式的設計思想,剛學php,寫的可能不夠嚴謹,但是還是 發出來 共享下 代碼:

<?php
    header("content-type:text/html;charset=utf-8");
    //單例模式(只能實例化一個對象),三私一公
    class p {
        private static $instance;      //私有靜態屬性,保存實例
        private function __construct(){  //私有方法,保證在類外不能通過new來 實例化
        }
       
        public static function getInstance(){  //公有靜態方法,在類內獲得對象,進行判斷,確保只能實例化一個對象
            if(!is_object(self::$instance)) {
                self::$instance = new P;
            }
            return self::$instance;
         
        }

        private function __clone(){ //私有克隆方法,確保在類外 克隆出 新對象。
       
        }
       
    }
    $obj1 = p::getInstance();

    $obj2 = p::getInstance();

    $obj3 = p::getInstance();

    //$obj3 = clone $result2;

    var_dump($obj1,$obj2,$obj3);  //print: object(p)#1 (0) { } object(p)#1 (0) { } object(p)#1 (0) { } ,  實例ID一直爲1
?>

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