php的单例模式

Posted 心悲动我神

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php的单例模式相关的知识,希望对你有一定的参考价值。

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

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

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

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的单例模式的主要内容,如果未能解决你的问题,请参考以下文章

php的单例模式

php的单例模式

php的单例模式

php中的单例模式

片段作为 Android 中的单例

如何写一个简单的单例模式?