Heim > Backend-Entwicklung > PHP-Tutorial > Singleton-Theorie - PHP

Singleton-Theorie - PHP

DDD
Freigeben: 2024-12-06 01:55:19
Original
448 Leute haben es durchsucht

Singleton Theory - PHP

Das Singleton-Entwurfsmuster stellt sicher, dass die Anwendung zur Laufzeit nur ein Objekt erstellt. 
Wenn es notwendig ist, dasselbe Objekt mehrmals in der Anwendung zu verwenden, können wir verhindern, dass es immer wieder Instanzen erstellt. Wir können dies erreichen, indem wir Statik mit Singleton-Entwurfsmuster verwenden.

Wenn das Objekt schon einmal erstellt wurde, setzt es sein Leben durch dieses Objekt fort, wenn nicht, setzt es sein Leben durch die Erstellung eines neuen Objekts fort.

Im Speicher funktioniert über RAM.

Es wird empfohlen, einen privaten Konstruktor zu erstellen.

class DbController
{
    private static $instance;
    public static $db;

    private function __construct()
    {
        $this->db = new PDO("mysql:host=localhost;dbname=***;", "root", "");
    }

    public static function getInstance()
    {
        if (!isset(self::$instance)) {
            self::$instance = new DbController;
        }
        return self::$instance;
    }

    public function dbConnection()
    {
        if (!isset(self::$db)) {
            self::$db = new PDO("mysql:host=localhost;dbname=***;", "root", "");
        }
        return self::$db;
    }
}
Nach dem Login kopieren
$cont1 = DbController::getInstance();
$cont2 = DbController::getInstance();
var_dump($cont1);
var_dump($cont2);
if ($cont1 === $cont2) echo 'Same';
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSingleton-Theorie - PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage