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

    php单例模式是什么意思

    GuanhuiGuanhui2020-05-07 17:16:49原创1413

    php入门到就业线上直播课:进入学习

    php单例模式是什么意思

    一个类有且仅有一个实例,并且自行实例化后提供给整个程序使用,或者可以理解为在整个程序运行期间,保证这个类有且仅一个实例,并对外提供一个能够访问它的全局访问点。

    php单例模式示例

    class Singleton {
        private static $_instance;//保存实例化出来的单例
    //构造函数私有化,确保单例类不能通过其它对象 new 出来
        private final function __construct() {}
    //定义私有的__clone()方法,这是确保单例类不能被复制或克隆,否则又不是单例了。
        private function __clone() {}
        public static function getInstance() {
    //检测类是否被实例化,如果没有实例化,就 new 一下,已经实例化就直接返回。
            if ( ! (self::$_instance instanceof self) ) {
                self::$_instance = new test();
            }
            return self::$_instance;
        }
    }
    
    //拿到单例实例,多次调用都是同一个实例
    Singleton::getInstance();

    优点

    1、提供了对唯一实例达到受控访问。

    2、由于在系统内存中只存在一个对象,因此可以节约系统资源,对于一些需要频繁创建和销毁的对象单例模式无疑可以提高系统的性能。

    缺点

    1、单例模式破坏了常见的类模式以及没有抽象层,因扩展时有很大的困难。

    2、单例模式为了能够保持运行期间唯一并能够被全局访问,污染了全局变量。

    以上就是php单例模式是什么意思的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:php 单例
    上一篇:php如何判断用户名不存在 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• PHP开发者如何做好密码保护以及Laravel底层密码存储和验证实现• 分享8个PHP开发常用代码片段• php开发模式MVC中的控制器的作用• php字符替换的实现方法• php如何将数组转换成json
    1/1

    PHP中文网