Heim >PHP-Framework >Laravel >Was ist die IOC-Kontrollinversion in Laravel?

Was ist die IOC-Kontrollinversion in Laravel?

WBOY
WBOYOriginal
2022-03-15 11:22:082936Durchsuche

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.

Was ist die IOC-Kontrollinversion in Laravel?

Die Betriebsumgebung dieses Artikels: Windows 10-System, Laravel Version 6, Dell G3-Computer.

Was ist die IOC-Kontrollumkehr in Laravel?

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!

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