2016-04-14 17 views
1

Gibt es eine Möglichkeit, einen Dienstanbieter in Laravel nur für bestimmte Routen/URLs zu registrieren? Ich würde gerne wissen, ob es möglich ist, einen Dienst nur dort zu binden, wo Sie ihn brauchen und wenn er die Belastung beim Booten verringert.Einen Laravel-Dienstanbieter auf bestimmten Routen binden

Antwort

2

Ich bin mir nicht sicher, ob es möglich ist, einen Dienstanbieter nur auf bestimmten Routen zu registrieren, aber Sie könnten es verschieben. Nur

gesetzt
protected $defer = true; 

auf Ihren Service-Provider, dann wird dies nur gelöst werden, wenn nötig, die Leistung je nach Ihrem speziellen Anwendungsfall verbessern sollte.

Für mehr check out the official docs on this hier, aber es könnte genau das sein, was Sie brauchen.

+1

Ich habe diese Stelle in der Dokumentation verpasst. Das wird gut gehen. Danke @Mike. – Ace

+2

Nur zu beachten, wenn es nötig ist, ist es * möglich *, einen Service Provider mit der 'register()' Methode in der Anwendungsinstanz ([docs] (https://laravel.com/api/5.2/Illuminate) bedingt hinzuzufügen /Contracts/Foundation/Application.html#method_register)) ... aber die Antwort ist richtig - wenn es nur ein Performance-Problem ist, löst Laravel das bereits mit der '$ defer'-Eigenschaft. – Nick