Inhaltsverzeichnis
Konzept des Singleton-Musters
Eigenschaften des Singleton-Musters
Der Grund für die Verwendung des Singleton-Modus in PHP
Heim Backend-Entwicklung PHP-Tutorial Singleton-Modus und Factory-Modus in PHP

Singleton-Modus und Factory-Modus in PHP

Feb 18, 2017 pm 04:22 PM

Konzept des Singleton-Musters

Das Singleton-Muster bezieht sich auf ein Entwurfsmuster, bei dem eine Klasse in der gesamten Anwendung nur eine Objektinstanz hat.

Eigenschaften des Singleton-Musters


Eine Klasse hat nur eine Instanz in der gesamten Anwendung

Die Klasse muss diese Instanz selbst erstellen

Sie müssen diese Instanz selbst für das gesamte System bereitstellen

Der Grund für die Verwendung des Singleton-Modus in PHP

Die meisten meiner Operationen in PHP beinhalten den Umgang mit verschiedenen Datenbanken, einschließlich mysql, redis, Memcache und andere relationale und nicht relationale Datenbanken, sodass eine große Anzahl von Vorgängen zum Herstellen einer Verbindung mit der Datenbank in einer Anwendung erforderlich ist. Wenn der Singleton-Modus nicht verwendet wird, sind jedes Mal neue Vorgänge erforderlich new verbraucht viele Speicherressourcen und Systemressourcen, und jedes Mal, wenn eine Datenbankverbindung geöffnet und geschlossen wird, ist dies ein großer Test und eine Verschwendung der Datenbank.


Benötigt eine statische Mitgliedsvariable, die die einzige Instanz der Klasse enthält (normalerweise ist $instance eine private Variable)

Konstruktoren und Klonfunktionen müssen deklariert werden privat Um zu verhindern, dass die neue Klasse des externen Programms die Bedeutung des Singleton-Modus

verliert, muss eine öffentliche statische Methode für den Zugriff auf diese Instanz bereitgestellt werden, wodurch ein Verweis auf die einzige Instanz zurückgegeben wird

//设计模式
//单例模式  都是使用同一个对象
//class Ren
//{
//    public $name;
//    private static $dx;   //存储对象
//
//    private function __construct()
//    {
//
//    }
//
//    public static function DuiXiang()
//    {
//        if(empty(self::$dx))
//        {
//            self:;$dx=new Ren();
//        }
//        return self::$dx;
//    }
//}
//
//$r= Ren::DuiXiang();

//把构造函数变为私有
//做了一个方法来间接造对象
//在该方法里面加限制
Nach dem Login kopieren

Factory-Klasse

 Bezieht sich auf eine Klasse, die eine Methode enthält, die speziell zum Erstellen anderer Objekte verwendet wird. Factory-Klassen sind in der Praxis der polymorphen Programmierung von entscheidender Bedeutung , die das dynamische Ersetzen von Klassen und das Ändern von Konfigurationen ermöglichen, machen die Anwendung oft flexibler. Für fortgeschrittene PHP-Entwickler ist es wichtig, das Factory-Muster zu beherrschen.

Das Fabrikmuster wird normalerweise verwendet, um verschiedene Klassen zurückzugeben, die ähnlichen Schnittstellen entsprechen. Eine häufige Verwendung von Fabriken besteht darin, polymorphe Anbieter zu erstellen, sodass wir basierend auf Anwendungslogik oder Konfigurationseinstellungen entscheiden können, welche instanziiert werden sollen. Beispielsweise kann eine Klasse mithilfe eines solchen Anbieters erweitert werden, um den neuen erweiterten Namen zu verwenden, ohne dass andere Teile der Anwendung umgestaltet werden müssen.

Normalerweise verfügt das Factory-Muster über eine statische Methode mit dem Namen Factory. Dies ist jedoch nur ein Prinzip. Diese statische Methode kann auch beliebig benannt werden Akzeptieren Sie Parameter aller Daten. Es muss ein Objekt zurückgegeben werden.

class YunSuan
{
    public $a;
    public $b;
    function Suan()
    {
        echo "对两个数进行运算";
    }
Nach dem Login kopieren
class gongchang
{   //功能 : 给一个参数,返回一个对象
    static function chanpin($name)
    {
        switch($name)
        {
            case "'+":
                return new jia();
                break;
            case "-";
                return new jian();
                break;
        }
    }
}

$a=gongchang::chanpin("+");
Nach dem Login kopieren

Weitere Artikel zum Singleton-Modus und Factory-Modus in PHP finden Sie auf der chinesischen PHP-Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Apr 05, 2025 am 12:04 AM

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Erklären Sie das Konzept der späten statischen Bindung in PHP. Erklären Sie das Konzept der späten statischen Bindung in PHP. Mar 21, 2025 pm 01:33 PM

In Artikel wird die in PHP 5.3 eingeführte LSB -Bindung (LSB) erörtert, die die Laufzeitauflösung der statischen Methode ermöglicht, um eine flexiblere Vererbung zu erfordern. Die praktischen Anwendungen und potenziellen Perfo von LSB

Rahmensicherheitsmerkmale: Schutz vor Schwachstellen. Rahmensicherheitsmerkmale: Schutz vor Schwachstellen. Mar 28, 2025 pm 05:11 PM

In Artikel werden wichtige Sicherheitsfunktionen in Frameworks erörtert, um vor Schwachstellen zu schützen, einschließlich Eingabevalidierung, Authentifizierung und regelmäßigen Aktualisierungen.

Anpassung/Erweiterung von Frameworks: So fügen Sie benutzerdefinierte Funktionen hinzu. Anpassung/Erweiterung von Frameworks: So fügen Sie benutzerdefinierte Funktionen hinzu. Mar 28, 2025 pm 05:12 PM

In dem Artikel werden Frameworks hinzugefügt, das sich auf das Verständnis der Architektur, das Identifizieren von Erweiterungspunkten und Best Practices für die Integration und Debuggierung hinzufügen.

Wie sende ich eine Postanforderung mit JSON -Daten mithilfe der Curl -Bibliothek von PHP? Wie sende ich eine Postanforderung mit JSON -Daten mithilfe der Curl -Bibliothek von PHP? Apr 01, 2025 pm 03:12 PM

Senden von JSON -Daten mithilfe der Curl -Bibliothek von PHP in der PHP -Entwicklung müssen häufig mit externen APIs interagieren. Eine der gängigen Möglichkeiten besteht darin, die Curl Library zu verwenden, um Post � ...

Beschreiben Sie die soliden Prinzipien und wie sie sich für die PHP -Entwicklung anwenden. Beschreiben Sie die soliden Prinzipien und wie sie sich für die PHP -Entwicklung anwenden. Apr 03, 2025 am 12:04 AM

Die Anwendung des soliden Prinzips in der PHP -Entwicklung umfasst: 1. Prinzip der Einzelverantwortung (SRP): Jede Klasse ist nur für eine Funktion verantwortlich. 2. Open and Close Principle (OCP): Änderungen werden eher durch Erweiterung als durch Modifikation erreicht. 3.. Lischs Substitutionsprinzip (LSP): Unterklassen können Basisklassen ersetzen, ohne die Programmgenauigkeit zu beeinträchtigen. 4. Schnittstellen-Isolationsprinzip (ISP): Verwenden Sie feinkörnige Schnittstellen, um Abhängigkeiten und nicht verwendete Methoden zu vermeiden. 5. Abhängigkeitsinversionsprinzip (DIP): Hoch- und niedrige Module beruhen auf der Abstraktion und werden durch Abhängigkeitsinjektion implementiert.

Was genau ist das nicht blockierende Merkmal von ReactPhp? Wie gehe ich mit seinen blockierenden E/A -Operationen um? Was genau ist das nicht blockierende Merkmal von ReactPhp? Wie gehe ich mit seinen blockierenden E/A -Operationen um? Apr 01, 2025 pm 03:09 PM

Eine offizielle Einführung in das nicht blockierende Merkmal der detaillierten Interpretation der nicht blockierenden Funktion von ReactPhp hat viele Fragen vieler Entwickler gestellt: "Reactphpisnon-BlockingByDefault ...

See all articles