简单了解php单例模式-创新互联

今天小编给大家分享的是php单例模式的详细介绍,相信大部分人都不太了解,为了让大家更加了解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单例模式-创新互联
标题来源:http://ybzwz.com/article/dehohg.html