Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie den PHP-Singleton-Modus

So implementieren Sie den PHP-Singleton-Modus

(*-*)浩
(*-*)浩Original
2019-10-09 13:27:063046Durchsuche

Das Singleton-Muster ist ein häufig verwendetes Software-Designmuster. Enthält in seiner Kernstruktur nur eine spezielle Klasse namens Singleton. Das Singleton-Muster stellt sicher, dass es nur eine Instanz einer Klasse im System gibt. Das heißt, eine Klasse hat nur eine Objektinstanz.

So implementieren Sie den PHP-Singleton-Modus

Tipp: Das Design des Datenbankverbindungspools verwendet im Allgemeinen den Singleton-Modus, da die Datenbankverbindung eine Datenbankressource ist. Die Verwendung von Datenbankverbindungspools in Datenbanksoftwaresystemen dient hauptsächlich dazu, den durch das Öffnen oder Schließen von Datenbankverbindungen verursachten Effizienzverlust zu vermeiden. Dieser Effizienzverlust ist immer noch sehr teuer, sodass die Verwendung des Singleton-Modus für die Wartung diesen Verlust erheblich reduzieren kann. (Empfohlenes Lernen: PHP-Video-Tutorial)

Es gibt vier wichtige Punkte bei der Implementierung des Singleton-Modus in PHP:

Eine eindeutige Instanz eines gespeicherten Klasse ist erforderlich. Statische Mitgliedsvariablen;

Konstruktoren und Klonfunktionen müssen als privat deklariert werden, um zu verhindern, dass externe Programme die Bedeutung des Singleton-Modus verlieren, indem sie neue Klassen verwenden.

müssen eine öffentliche statische Methode bereitstellen um auf diese Instanz zuzugreifen ;

Verwenden Sie das Schlüsselwort final, um die Vererbung zu deaktivieren, wenn Sie eine Klasse definieren, um zu verhindern, dass Methoden der übergeordneten Klasse überschrieben werden.

Referenzcode:

final class Singleton {

    //静态变量要设置为私有,防止被修改
    private static  $instance;

    //构造函数声明为私有,防止外部程序new类
    private function __construct() {

    }

    //克隆函数声明为私有,防止克隆对象
    private function __clone() {

    }

    //提供一个创建唯一实例的接口
    public static function getInstance() {

        if(!(self::$instance instanceof self)) {
            self::$instance = new self();
        }
        return self::$instance;
    }
}

//只能根据getInstance静态方法创建Singleton实例
$ins = Singleton::getInstance()

Das obige ist der detaillierte Inhalt vonSo implementieren Sie den PHP-Singleton-Modus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Was nützen PHP-Unit-Tests?Nächster Artikel:Was nützen PHP-Unit-Tests?