php单例模式

Posted 翔蓝晶露

tags:

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

一:定义

   php单例模式可以保证系统中一个类只有一个实例,通俗的讲就是实例化出来的类是唯一的。

二:类

<?php
class single{
    static private $instance; //创建静态的私有变量保存该类对象
    //防止直接创建对象
    private function __construct()
    {
        echo "我被实例化了";
    }
    //防止克隆对象
    private function __clone()
    {

    }
    static public function getInstance()
    {
        //判断是否已经创建对象
        if(!self::$instance instanceof self)
        {
            self::$instance = new self();
        }
        return self::$instance;
    }
}
$db1 = single::getInstance();
$db2 = single::getInstance();

运行结果:

  $db1创建对象后,输出结果为:我被实例化了。

  $db2没有创建对象,而是直接使用$instance保存的唯一对象,所以并没有输出“我被实例化了”这句话。

以上是关于php单例模式的主要内容,如果未能解决你的问题,请参考以下文章

PHP设计模式之:单例模式

PHP设计模式------单例模式

设计模式之单例模式

php设计模式-单例模式

php的单例模式

php单例模式与工厂模式