Heim  >  Artikel  >  Backend-Entwicklung  >  Ausführliche Erklärung zum Hinzufügen benutzerdefinierter Klassen zum IoC-Container in Laravel5.4

Ausführliche Erklärung zum Hinzufügen benutzerdefinierter Klassen zum IoC-Container in Laravel5.4

*文
*文Original
2018-01-03 15:31:531477Durchsuche

Laravel ist ein Framework, das einfach zu verwenden, aber nicht leicht zu verstehen ist. Warum nicht einfach? Weil es viele sogenannte „fortgeschrittene“ Konzepte enthält, darunter Dependency Injection (DI) und Ioc-Container zu den Kerninhalten. Dieser Artikel führt Sie hauptsächlich in die relevanten Informationen zum Hinzufügen benutzerdefinierter Klassen zum IoC-Container in Laravel 5.4 ein. Freunde in Not können darauf zurückgreifen. Ich hoffe, es hilft allen.

IoC-Container

Container bedeutet wörtlich etwas, das Dinge enthält. Gemeinsame Variablen, Objekteigenschaften usw. können als Container betrachtet werden. Was ein Container aufnehmen kann, hängt ganz davon ab, wie Sie den Container definieren. Natürlich gibt es einen solchen Container, der keine Texte oder Werte speichert, sondern Objekte, Objektbeschreibungen (Klassen, Schnittstellen) oder Rückrufe für Objekte bereitstellt. Über diesen Container können wir viele erweiterte Funktionen implementieren, von denen die wichtigste ist Oft wird von „Entkopplung“ und „Abhängigkeitsinjektion (DI)“ gesprochen.

IoC-Container – der Kern von Laravel

Der Kern von Laravel ist ein IoC-Container, der laut Dokumentation als „Service-Container“ bezeichnet wird. Dieser Container bietet eine Reihe von Diensten, die erforderlich sind. Als Anfänger werden viele Menschen Schwierigkeiten mit diesem Konzept haben. Daher möchte ich mit einigen grundlegenden Inhalten beginnen und nach und nach den Schleier der „Abhängigkeitsinjektion“ aufdecken, indem ich die Erzeugung und Lösung von Abhängigkeiten in der objektorientierten Entwicklung verstehe Designkonzept.

In diesem Artikel werden die relevanten Inhalte zum Hinzufügen benutzerdefinierter Klassen zum IoC-Container in Laravel 5.4 ausführlich vorgestellt und als Referenz und Studium weitergegeben. Ich werde im Folgenden nicht viel sagen ausführliche Einführung.

IoC-Container fügt benutzerdefinierte Klasse hinzu

1. Angenommen, wir möchten eine Transaktionsklasse erstellen, app/Trade/Sale.php

<?php
namespace App\Trade;
class Sale
{
public function exchange()
{
 dd(&#39;交易成功啦!&#39;);
}
}

2. Erstellen Sie einen Dienstleister TradeServiceProvider im Providers-Verzeichnis

php artisan make:provider TradeServiceProvider

3. Binden Sie dann unsere Klasse in die Registermethode von TradeServiceProvider.php

/**
 * Register the application services.
 *
 * @return void
 */
public function register()
{
 //
 $this->app->bind(&#39;trade&#39;,function(){
  return new Sale();
 });
}

4 . Fügen Sie als Nächstes eine Zeile zum Provider-Array unter config/app.php hinzu,

App\Providers\TradeServiceProvider::class,

5. Schreiben Sie dann einen Test in unser Routing

Route::get(&#39;/&#39;,function (){
$trade = app(&#39;trade&#39;);
dd($trade->exchange());
}

Ausgabeergebnis: Transaktion erfolgreich!

6. An dieser Stelle haben wir unsere eigene Klasse zum IoC-Container hinzugefügt

Verwandte Empfehlungen:

Einige praktische Tipps zur Verbesserung der Leistung von Laravel 5

Laravel Redis Problem, dass mehrere Prozesse gleichzeitig Warteschlangen beanspruchen

Laravel schreibt APP-Schnittstelle (API)

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung zum Hinzufügen benutzerdefinierter Klassen zum IoC-Container in Laravel5.4. 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