• 技术文章 >后端开发 >PHP问题

    php 能实现单例吗

    藏色散人藏色散人2021-04-01 09:25:55原创66

    php能实现单例,其实现一个单例的方法:1、申请一个私有的静态成员变量来保存该类的唯一实例;2、声明私有的构造方法,防止类外部创建对象;3、声明一个静态公共方法,供外部获取唯一实例。

    本文操作环境:Windows7系统、PHP7.1版,DELL G3电脑

    PHP如何实现一个单例

    这三步走完,就是一个单例了,但是这个单例是不安全的,想要这个单例安全,还需以下两步(如有不完善还请补充)

    <?php
    /**
     * 单列模式(防止对象克隆、对象序列化反序列化)
     * Created by PhpStorm.
     * User: Jeaforea
     * Date: 2019/3/14
     * Time: 17:56
     */
    namespace Kanshenmekan\Buzhunkan\Zaikandasini;
    class SetSingleton{
        private static $new; //申请一个私有的静态成员变量来保存该类的唯一实例
        private function __construct() {} //声明私有的构造方法,防止类外部创建对象
        public static function instance () { //声明一个静态公共方法,供外部获取唯一实例
            if (!(self::$new instanceof self)) {
                self::$new = new self;
            }
            return self::$new;
        }
        private function __clone() {} //声明私有的克隆方法,防止对象被克隆
        public function __sleep() { //重写__sleep方法,将返回置空,防止序列化反序列化获得新的对象
            return [];
        }
    }

    【推荐学习:PHP视频教程

    以上就是php 能实现单例吗的详细内容,更多请关注php中文网其它相关文章!

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!
    专题推荐:php
    上一篇:php url转码函数有哪些 下一篇:php怎么修改private
    第15期线上培训班

    相关文章推荐

    • php单例模式 使用场景和使用方法• php如何实现单例模式• 聊聊PHP中的单例模式与静态变量• php怎样实现单例模式• php中的单例模式

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网