首页 > Web开发 > 详细

PHP单例模式

时间:2019-02-15 18:40:25      阅读:162      评论:0      收藏:0      [点我收藏+]
<?php

/**
 * PHP的单例模式:让类的一个对象成为系统中的唯一实例,避免大量的 new 操作消耗的资源。典型应用:数据库连接
 * PHP的单例模式实现要求:
 * 1、一个private的__construct是必须的,单例类不能在其它类中实例化,只能被自身实例化;
 * 2、拥有一个保存类的实例的静态成员变量;
 * 3、一个静态的公共方法用于实例化这个类,并访问这个类的实例;
 */
class Demo
{
    private static $ins; //保存对象的静态属性

    private function __construct()
    {
        echo "私有化构造方法<br>";
    }

    //禁止克隆
    private function __clone()
    {
    }

    public static function getInstance()
    {
        if (!(self::$ins instanceof self)) {
            echo "实例化<br>";
            self::$ins = new self;
        }
        return self::$ins;
    }

    //类的其它方法
    public function test()
    {
        echo "测试方法<br>";
    }
}

//多次调用类的实例
Demo::getInstance()->test();
Demo::getInstance()->test();

//输出结果
/*
实例化
这是构造方法
测试方法
测试方法
*/

//通过结果,可以看到Demo类只实例化了一次。

 

PHP单例模式

原文:https://www.cnblogs.com/kccdzz/p/10385099.html

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