亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Heim PHP-Bibliotheken Andere Bibliotheken PHP-Bibliothek für Abh?ngigkeitsinjektionscontainer
PHP-Bibliothek für Abh?ngigkeitsinjektionscontainer
<?php
namespace Auryn;
class CachingReflector implements Reflector
{
    const CACHE_KEY_CLASSES = 'auryn.refls.classes.';
    const CACHE_KEY_CTORS = 'auryn.refls.ctors.';
    const CACHE_KEY_CTOR_PARAMS = 'auryn.refls.ctor-params.';
    const CACHE_KEY_FUNCS = 'auryn.refls.funcs.';
    const CACHE_KEY_METHODS = 'auryn.refls.methods.';
    private $reflector;
    private $cache;
    public function __construct(Reflector $reflector = null, ReflectionCache $cache = null)
    {
        $this->reflector = $reflector ?: new StandardReflector;
        $this->cache = $cache ?: new ReflectionCacheArray;
    }
    public function getClass($class)
    {
        $cacheKey = self::CACHE_KEY_CLASSES . strtolower($class);
        if (!$reflectionClass = $this->cache->fetch($cacheKey)) {
            $reflectionClass = new \ReflectionClass($class);
            $this->cache->store($cacheKey, $reflectionClass);
        }
        return $reflectionClass;
    }

Unsere Idee ist, dass die Anwendung, wenn sie eine Foo-Klasse verwendet, die Foo-Klasse erstellt und die Methode der Foo-Klasse aufruft. Wenn diese Methode eine Bar-Klasse erfordert, erstellt sie die Bar-Klasse und ruft die Methode der Bar-Klasse auf. und diese Methode Wenn eine Bim-Klasse ben?tigt wird, wird die Bim-Klasse erstellt und dann werden andere Arbeiten ausgeführt. Die Idee bei der Verwendung der Abh?ngigkeitsinjektion besteht darin, dass die Anwendung die Foo-Klasse verwendet, die Foo-Klasse die Bar-Klasse ben?tigt und die Bar-Klasse die Bim-Klasse ben?tigt. Erstellen Sie dann zuerst die Bim-Klasse, erstellen Sie dann die Bar-Klasse und injizieren Sie Bim. Erstellen Sie dann die Foo-Klasse und fügen Sie die Bar-Klasse ein. Rufen Sie dann die Foo-Methode auf. Foo ruft die Bar-Methode auf und führt dann andere Arbeiten aus. Dies ist das Inversion-of-Control-Muster. Die Kontrolle der Abh?ngigkeiten erfolgt umgekehrt zum Anfang der Aufrufkette. Auf diese Weise haben Sie die vollst?ndige Kontrolle über Abh?ngigkeiten und steuern das Verhalten Ihres Programms, indem Sie verschiedene injizierte Objekte anpassen. Beispielsweise verwendet die Foo-Klasse Memcache, und Sie k?nnen stattdessen Redis verwenden, ohne den Code der Foo-Klasse zu ?ndern.

Die Idee nach der Verwendung eines Abh?ngigkeitsinjektionscontainers besteht darin, dass die Anwendung, wenn sie auf die Foo-Klasse zugreifen muss, die Foo-Klasse aus dem Container abruft, der Container die Bim-Klasse erstellt, dann die Bar-Klasse erstellt und Bim injiziert und dann die Klasse Foo erstellt Foo-Klasse, injiziert Bar und wendet dann die Foo-Methode an, Foo ruft die Bar-Methode auf und erledigt dann andere Arbeiten. Kurz gesagt, der Container ist für die Instanziierung, das Einfügen von Abh?ngigkeiten, die Verarbeitung von Abh?ngigkeiten usw. verantwortlich.


Haftungsausschluss

Alle Ressourcen auf dieser Website werden von Internetnutzern bereitgestellt oder von gro?en Download-Sites nachgedruckt. Bitte überprüfen Sie selbst die Integrit?t der Software! Alle Ressourcen auf dieser Website dienen nur als Referenz zum Lernen. Bitte nutzen Sie diese nicht für kommerzielle Zwecke. Andernfalls sind Sie für alle Folgen verantwortlich! Wenn ein Versto? vorliegt, kontaktieren Sie uns bitte, um ihn zu l?schen. Kontaktinformationen: admin@php.cn

Verwandter Artikel

Was ist die beste HTML -Parsing -Bibliothek für C#? Was ist die beste HTML -Parsing -Bibliothek für C#?

25 Jan 2025

Welche Optionen für das Parsen von HTML in C#? Beim Parsen von HTML in C#k?nnen generische XML -Parsing -Bibliotheken verwendet werden. Es gibt jedoch auch Bibliotheken ...

Wie w?hlen Sie die beste XML-Bibliothek für Ihr Python-Projekt aus? Wie w?hlen Sie die beste XML-Bibliothek für Ihr Python-Projekt aus?

27 Oct 2024

XML-Erstellung in Python: Ein umfassender Leitfaden zu Bibliotheken und MethodenBei der Erstellung von XML-Dokumenten in Python stehen Entwicklern verschiedene Bibliotheken zur Verfügung...

Welche Java-Bibliothek eignet sich am besten für Graphalgorithmen? Welche Java-Bibliothek eignet sich am besten für Graphalgorithmen?

21 Nov 2024

Zuverl?ssige Java-Bibliotheken für GraphalgorithmenDie Ermittlung der am besten geeigneten Java-Bibliothek für Graphalgorithmen kann eine Herausforderung sein. Dieser Artikel...

Was ist die beste SFTP-Bibliothek für .NET-Anwendungen? Was ist die beste SFTP-Bibliothek für .NET-Anwendungen?

19 Jan 2025

SFTP-Bibliotheken für .NET: Empfohlene Optionen erkunden Die Auswahl der richtigen SFTP-Bibliothek kann die Funktionalit?t und Effizienz von ... erheblich beeinflussen.

Welche C-Regex-Bibliothek ist die richtige für Sie? Welche C-Regex-Bibliothek ist die richtige für Sie?

30 Oct 2024

Welche C-Regex-Bibliothek ist die beste Wahl für Ihre Anforderungen? Bei der Arbeit mit regul?ren Ausdrücken in C bieten verschiedene Bibliotheken unterschiedliche...

Welche Regex-Bibliothek eignet sich für die C-Entwicklung? Welche Regex-Bibliothek eignet sich für die C-Entwicklung?

02 Nov 2024

Empfehlen von Regex-Bibliotheken für die C-EntwicklungBei der Arbeit mit Regex in C/C müssen Entwickler mehrere Optionen in Betracht ziehen. Hier sind einige...

See all articles