php单例模式

目前正在学习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
?>html

相关文章
相关标签/搜索