首页 > Web开发 > 详细

php单态设计模式

时间:2014-04-07 15:38:22      阅读:843      评论:0      收藏:0      [点我收藏+]

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

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

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

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

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

bubuko.com,布布扣
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");  
bubuko.com,布布扣

 

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

php单态设计模式

原文:http://www.cnblogs.com/leezhxing/p/3647369.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!