温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php单例模式4私1公的实例代码

发布时间:2021-09-06 01:58:20 来源:亿速云 阅读:151 作者:chen 栏目:大数据

PHP单例模式4私1公的实例代码

单例模式是一种常用的设计模式,用于确保一个类只有一个实例,并提供一个全局访问点。在PHP中,单例模式通常通过“4私1公”的方式实现,即4个私有属性和方法,1个公有方法。

4私1公的含义

  • 4私

    1. 私有静态属性:用于存储类的唯一实例。
    2. 私有构造方法:防止外部通过new关键字创建实例。
    3. 私有克隆方法:防止通过clone创建实例。
    4. 私有反序列化方法:防止通过反序列化创建实例。
  • 1公

    1. 公有静态方法:用于获取类的唯一实例。

实例代码

class Singleton {
    // 私有静态属性,存储唯一实例
    private static $instance = null;

    // 私有构造方法,防止外部实例化
    private function __construct() {}

    // 私有克隆方法,防止克隆实例
    private function __clone() {}

    // 私有反序列化方法,防止反序列化创建实例
    private function __wakeup() {}

    // 公有静态方法,获取唯一实例
    public static function getInstance() {
        if (self::$instance === null) {
            self::$instance = new self();
        }
        return self::$instance;
    }
}

// 使用单例模式
$instance1 = Singleton::getInstance();
$instance2 = Singleton::getInstance();

// 判断是否为同一个实例
var_dump($instance1 === $instance2); // 输出: bool(true)

通过这种方式,可以确保Singleton类只有一个实例,并且可以在全局范围内访问该实例。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI