Heim >PHP-Framework >Laravel >Was ist die IOC-Kontrollinversion in Laravel?
In Laravel ist die IOC-Inversion der Kontrolle ein Entwurfsprinzip in der objektorientierten Programmierung. Sie kann verwendet werden, um die Kopplung zwischen Computercodes zu reduzieren. Dies bedeutet, dass eine Klasse ihre Kontrolle an ein anderes Objekt übergibt dieses Objekt.
Die Betriebsumgebung dieses Artikels: Windows 10-System, Laravel Version 6, Dell G3-Computer.
Inversion of Control (Inversion of Control, abgekürzt als IoC) ist ein Entwurfsprinzip in der objektorientierten Programmierung, das verwendet werden kann, um die Kopplung zwischen Computercodes zu reduzieren.
Die gebräuchlichste Methode heißt Dependency Injection (DI), die andere Methode heißt „Dependency Lookup“. Durch die Umkehrung der Kontrolle übergibt eine externe Entität, die alle Objekte im System steuert, bei der Erstellung eines Objekts die Referenz des Objekts, von dem sie abhängt, an dieses.
Einfach ausgedrückt übergibt eine Klasse ihre Kontrolle an ein anderes Objekt und die Abhängigkeiten zwischen Klassen werden von diesem Objekt aufgelöst. Die Abhängigkeitsinjektion ist eine explizite Deklaration von Abhängigkeiten, während die Abhängigkeitssuche Abhängigkeiten durch die Suche auflöst.
Inversion of Control (IoC): Der Inhalt muss nicht selbst geändert werden, sondern wird extern weitergegeben. Wechsel von internen Abhängigkeiten zu externen Abhängigkeiten.
Inversion of Control (IOC): „Control“ ist die Kontrolle des Programmausführungsflusses. „Inversion“ bedeutet, dass der Programmierer vor der Verwendung des Frameworks die Ausführung des gesamten Programms kontrolliert Das Element wird vom Programm invertiert.
Injizieren Sie eine Klasse:
App::bind('foo', function($app) { return new FooBar; });
Dieses Beispiel bedeutet, eine Klasse mit dem Alias foo zu erstellen, und die tatsächliche Instanziierung von FooBar erfolgt bei der Verwendung.
Die Art und Weise, diese Klasse zu verwenden, ist:
$value = App::make('foo');
$value ist eigentlich ein FooBar-Objekt.
Wenn Sie den Singleton-Modus zum Instanziieren einer Klasse verwenden möchten, verwenden Sie Folgendes:
App::singleton('foo', function() { return new FooBar; });
Auf diese Weise wird jedes Mal dasselbe Objekt instanziiert.
【Verwandte Empfehlungen: Laravel-Video-Tutorial】
Das obige ist der detaillierte Inhalt vonWas ist die IOC-Kontrollinversion in Laravel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!