Heim  >  Artikel  >  PHP-Framework  >  ThinkPHP-Container-Registrierungsbaummodus

ThinkPHP-Container-Registrierungsbaummodus

咔咔
咔咔Original
2020-10-10 11:24:011548Durchsuche

Bevor Sie den Container-Quellcode lernen, müssen Sie ein weiteres Entwurfsmuster lernen, das Registrierungsbaummuster. Dieses Entwurfsmuster ist auch ein Kern des Containers.

2. Registrierungsbaummodus

Warum sagen wir hier diesen Registrierungsbaummodus? Weil der Registrierungsbaummodus eine dominierende Stellung im Framework einnimmt, Sie müssen ihn also verstehen!

Was ist dann eine angemeldete Vorführung!

  • Der Registrierungsbaummodus besteht darin, die Objektinstanz in einem Baum zu registrieren (der Baum hier ist kein echter Baum! Er wird in einem globalen Attribut registriert)
  • Dann können Sie die interne Methode verwenden, um die Objektinstanz abzurufen aus dem globalen Baum Holen Sie sich die entsprechende Objektinstanz.

Sie können es definitiv nicht besser verstehen, wenn Sie es so sagen. Als nächstes zeigt Ihnen Kaka einen einfachen Fall, um ein einfaches Verständnis zu erlangen.

Ein Registrierungsbaummodus erfordert vier Dinge: den Pool des Registrierungsbaums, das Mounten des Objekts in den Registrierungspool, das Abrufen des Objekts aus dem Registrierungspool und das Entladen des Objekts aus dem Registrierungspool.

Das Bild unten ist ein einfaches Registrierungsbaummodell, das von Kaka geschrieben wurde.

Wenn Sie den Code nicht verstehen, müssen Sie sich mit den Grundlagen vertraut machen!

ThinkPHP-Container-RegistrierungsbaummodusThinkPHP-Container-RegistrierungsbaummodusAls nächstes erstellen Sie eine TestTree-Datei im selben Verzeichnis

ThinkPHP-Container-RegistrierungsbaummodusKommen Sie zum Controller und testen Sie, ob es ein Problem mit dem von Ihnen geschriebenen Registrierungsbaummodus gibt.

Achten Sie beim Testen unbedingt auf das Namespace-Problem! Das Kaka-Verzeichnis hier wurde zuvor beim automatischen Laden von Klassen konfiguriert. Wenn Sie nicht wissen, wie das geht, können Sie es in der ersten Ausgabe des Artikels nachlesen.

Dies entspricht der ersten Instanziierung der TestTree-Klasse.

Dann die Verwendung des Registrierungsbaummodus zum Registrieren dieser Instanz im Objektbaumpool.

Abschließend können Sie mit der get-Methode zum Abrufen dieser Klasse die Methoden in TestTree direkt aufrufen.

ThinkPHP-Container-RegistrierungsbaummodusSchauen Sie sich abschließend das endgültige Druckergebnis an. Das Ergebnis ist der Rückgabewert der getTreeContent-Methode in der TestTree-Klasse.

ThinkPHP-Container-RegistrierungsbaummodusDer Registrierungsbaummodus ist das, was Kaka oben erklärt hat. Das bedeutet, dass wir den Quellcode nicht studieren müssen.

Beharrlichkeit beim Lernen, Beharrlichkeit beim Bloggen und Beharrlichkeit beim Teilen sind die Überzeugungen, an denen Kaka seit seinen Anfängen festgehalten hat. Ich hoffe, dass Kakas Artikel im riesigen Internet Ihnen ein wenig helfen können. Ich bin Kaka, bis zum nächsten Mal.

Das obige ist der detaillierte Inhalt vonThinkPHP-Container-Registrierungsbaummodus. 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