Was die Verwendung von Laravel-Behältern betrifft, unter welchen Umständen verwenden Sie diese?

WBOY
Freigeben: 2016-10-10 11:56:12
Original
1464 Leute haben es durchsucht

Ich habe noch kein gutes Verständnis von Laravel-Containern.
Nach meinem Verständnis gibt es viele Objekte, die im Container aufgerufen werden können.
Sie können es bei Bedarf direkt verwenden, ohne neues etc.

Ich möchte fragen: Wird jeder diese Funktion nutzen?
Wie nutzen Sie diese Funktion im Allgemeinen in Projekten? Sollten wir eine Serviceschicht abtrennen und jeden Service in einen Container packen?
Controller anrufen?
Oder nutzen Sie es einfach nicht?

Antwortinhalt:

Ich habe noch kein gutes Verständnis von Laravel-Containern.
Nach meinem Verständnis gibt es viele Objekte, die im Container aufgerufen werden können.
Sie können es bei Bedarf direkt verwenden, ohne neues etc.

Ich möchte fragen: Wird jeder diese Funktion nutzen?
Wie nutzen Sie diese Funktion im Allgemeinen in Projekten? Sollten wir eine Serviceschicht abtrennen und jeden Service in einen Container packen?
Controller anrufen?
Oder nutzen Sie es einfach nicht?

Der Laravel-Container ist ein Ort, an dem Dienste platziert werden, die nacheinander an den Container gebunden sind. Es gibt drei Hauptbindungsmethoden: bind(), singleton() und Instanz() Servicemethode aus dem Container: make(), diese befinden sich alle in IlluminateContainerContainer und IlluminateFoundationApplication erweitert den Container.

Was die Funktionsweise von Container betrifft: Wenn Sie Konstruktorinjektion oder Methodeninjektion im Controller verwenden, verwenden Sie bereits Container, da Container diese Dienste automatisch für Sie analysiert, wie zum Beispiel:

<code>class AccountController extends Controller
{
    // 这里是Method Injection,Container会自动解析出Request,而不需要去new Request获得对象
    // 从容器中解析服务是用的Container::make()方法
    public function test(Request $request) 
    {
        return $request->ip();
    }
}</code>
Nach dem Login kopieren

Container-Dienste wurden also im Allgemeinen verwendet. Traditionell werden die erforderlichen Dienste innerhalb der abhängigen Objekte erstellt, aber jetzt werden die erforderlichen Abhängigkeiten innerhalb des Containers erstellt automatisiert und automatisch in die abhängigen Objekte eingefügt, wodurch eine Entkopplung erreicht wird.

Für die Quellcode-Analyse von Containern und Anwendungen können Sie sich Folgendes ansehen:
Laravel Study Notes Container-Quellcode-Analyse
Laravel Study Notes IoC Container Instantiation Source Code Analysis

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!