Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Entwurfsmuster: Eine kurze Diskussion des PHP-Singleton-Musters (mit Code)

PHP-Entwurfsmuster: Eine kurze Diskussion des PHP-Singleton-Musters (mit Code)

不言
不言Original
2018-08-04 14:45:252755Durchsuche

Was sind Designmuster? Ein Muster ist eine Lösung für ähnliche Probleme in einer bestimmten Umgebung. Es ist die Grundlage für wiederverwendbare objektorientierte Software. Deshalb werde ich Ihnen heute etwas über die Implementierung eines Singleton-Musters erzählen.

Konzept:

Entwurfsmuster stellen Best Practices dar und werden in der Regel von erfahrenen objektorientierten Softwareentwicklern übernommen. Entwurfsmuster sind Lösungen für häufige Probleme, mit denen Softwareentwickler während des Softwareentwicklungsprozesses konfrontiert sind. Diese Lösungen sind das Ergebnis von Versuchen und Irrtümern zahlreicher Softwareentwickler über einen langen Zeitraum.

PHP-Singleton-Musterdefinition
Der PHP-Singleton-Modus ist ein häufig verwendetes PHP-Software-Designmuster. Es enthält in seiner Kernstruktur nur eine spezielle Klasse namens Singleton. Der PHP-Singleton-Modus kann sicherstellen, dass die Klasse, auf die dieser Modus im System angewendet wird, nur eine Instanz hat. Der PHP-Singleton-Modus instanziiert sich selbst und stellt diese instanziierte Klasse dem gesamten System zur Verfügung.

php-Singleton-Modus-Code:

<?php
    class preferences
    {
        private $props = array();        
        private static $instance;        
        private function __construct(){}        
        public static function getInstance()
        {
            if(empty(self::$instance))
            {                
            self::$instance = new preferences();
            }            
            return self::$instance;
        }        
        public function setProperty($key,$value)
        {
            $this->props[$key] = $value;
        }        
        public function getProperty($key)
        {
            return $this->props[$key];
        }
    }    $ref = preferences::getInstance();    
    $ref->setProperty(&#39;name&#39;,&#39;ypp&#39;);    
    unset($ref);//移除引用
    //var_dump(preferences::getInstance());
    // echo $ref->getProperty(&#39;name&#39;);
    $ref2 = preferences::getInstance();//值并未丢失
    echo $ref2->getProperty(&#39;name&#39;); //这里输出ypp

Zusammenfassung
Definieren Sie durch die Definition einer Klasse einen privaten Konstruktor, damit die Außenwelt nicht darauf zugreifen kann die Eigenschaften und Methoden dieser Klasse durch Instanziierung und definieren Sie dann eine statische Methode in der Klasse, indem Sie auf diese statische Methode zugreifen, sodass Sie global auf die Eigenschaften und Methoden in dieser Klasse zugreifen und diese dem gesamten System bereitstellen können. Art.

Empfohlene verwandte Artikel:

Was ist der PHP-Singleton-Modus? > PHP-Designmuster-Singleton-Muster

PHP-Designmuster-Singleton-Mustercode, PHP-Designmuster

Das obige ist der detaillierte Inhalt vonPHP-Entwurfsmuster: Eine kurze Diskussion des PHP-Singleton-Musters (mit Code). 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