zoukankan      html  css  js  c++  java
  • PHP单例模式

    单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。即一个类只有一个对象实例。

    提示: 数据库连接池的设计一般也是采用单例模式,因为数据库连接是一种数据库资源。数据库软件系统中使用数据库连接池,主要是节省打开或者关闭数据库连接所引起的效率损耗,这种效率上的损耗还是非常昂贵的,因此用单例模式来维护,就可以大大降低这种损耗。

    PHP实现单例模式有四个要点:

    • 需要一个保存类的唯一实例的静态成员变量;
    • 构造函数和克隆函数必须声明为私有的防止外部程序new类而失去单例模式的意义;
    • 必须提供一个访问这个实例的公共的静态方法
    • 在定义类的时候用final关键字禁止继承,防止重写父类方法。

    参考代码:

    final class Singleton {
    
        //静态变量要设置为私有,防止被修改
        private static  $instance;
    
        //构造函数声明为私有,防止外部程序new类
        private function __construct() {
    
        }
    
        //克隆函数声明为私有,防止克隆对象
        private function __clone() {
    
        }
    
        //提供一个创建唯一实例的接口
        public static function getInstance() {
    
            if(!(self::$instance instanceof self)) {
                self::$instance = new self();
            }
            return self::$instance;
        }
    }
    
    //只能根据getInstance静态方法创建Singleton实例
    $ins = Singleton::getInstance();
    
  • 相关阅读:
    在VSCode中使用码云
    自定义博客样式
    bolb、bloburl、file、base64间的转换
    html2canvas的使用:vue中将div导出成图片
    vue-to-pdf的使用:vue中将div转换为pdf文件
    早期javac编译器优化
    HttpClient4.3 连接池参数配置及源码解读
    Java编译程序和运行过程详解
    JVM中的常量池详解
    MySQL索引背后的数据结构及原理
  • 原文地址:https://www.cnblogs.com/itbsl/p/10244944.html
Copyright © 2011-2022 走看看