php单态设计模式

单例设计模式就是要一个类只能实例化一个对象。

要想让一个类只能实例化一个对象,就要让类先不能实例化对象,就是构造方法私有。

现在,要想实例化改类必须通过访问静态方法来实例化改类

为了防止实例多次,需要通过一个成员变量来控制加以判断

因为静态方法不能访问非静态成员,所以声明的成员也要是静态的,同时防止外部访问该成员,还要私有

php单态设计模式
class Demo{
    
    private static $obj = null;  //声明一个私有的,静态的成员属性$obj;
    
    private function __construct(){}  //构造方法私有,防止new实例化。
    
    static function createObj(){     //只能通过静态方法实例化对象
            if(is_null(self::$obj))
                self::$obj = new self();
                
            return self::$obj;
    }
    
    function query($sql){
        echo $sql;
    }
}

/*通过静态方法实例化*/
$db = Demo::createObj();

//访问对象中的成员
$db->query("select * from user");  
php单态设计模式

 

php单态设计模式,布布扣,bubuko.com

php单态设计模式

上一篇:关于php-fpm通讯时没有REQUEST_METHOD的问题


下一篇:html5开发之viewport使用