首页 > Web开发 > 详细

php的单例模式

时间:2017-06-20 20:10:34      阅读:286      评论:0      收藏:0      [点我收藏+]

单例模式:指的是一个对象的模式,指一个类只能创建一个对象。

既然限制一个类只能创建一个对象,就是说要关闭其他创建对象的途径。

所以实现单例,必须满足一下条件:

1.不让克隆(私有克隆方法)

2.不让创建对象(私有构造方法,不能在类外部使用new关键字创建对象)

3.在类中创建对象(静态方法)

4.判断对象是否存在,如果存在返回原对象,否则创建新对象

使用单例模式好处在于可以节省资源,比如Db类设计,比如window系统常见的资源管理器。

 

 

<?php
class Single{
//定义一个属性保存对象
    private static $single; 
    
    //私有构造方法
    private function __construct($name){
        $this->name = $name;
    }
    
    //私有化克隆方法
    private function __clone(){
    }
    
    //静态方法:让类进入到类的内部进行实例化得到对象
     public static function getInstance($name){
         //判断对象是否存在,如果存在返回原对象,否则创建新对象
         if(!self::$single){
              self::$single = new Single($name);
         }
         return self::$single;
     }
}
$single = Single::getInstance(‘libai‘);
var_dump($single);$single = Single::getInstance(‘dufu‘);
var_dump($single);

 

php的单例模式

原文:http://www.cnblogs.com/lzy007/p/7055924.html

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