Home  >  Article  >  Backend Development  >  What does php singleton mode mean?

What does php singleton mode mean?

Guanhui
GuanhuiOriginal
2020-05-07 17:16:492487browse

What does php singleton mode mean?

What does php singleton mode mean?

A class has one and only one instance, and it is provided to the entire program after instantiation. , or it can be understood as ensuring that there is only one instance of this class during the entire program running, and providing a global access point that can access it.

php singleton mode example

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();

Advantages

1. Provided Achieve controlled access to a unique instance.

2. Since there is only one object in the system memory, system resources can be saved. For some objects that need to be frequently created and destroyed, the singleton mode can undoubtedly improve the performance of the system.

Disadvantages

1. The singleton pattern destroys common class patterns and has no abstraction layer, so it is very difficult to expand.

2. The singleton mode pollutes global variables in order to remain unique during runtime and be globally accessible.

The above is the detailed content of What does php singleton mode mean?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn