Ich arbeite an einer Laravel 5 Anwendung und jetzt soll der Code der Anwendung in mehreren Laravel 5 Anwendungen wiederverwendet werden, weshalb ich ein Composer-Paket erstelle und dann möchte ich dieses Paket in beliebiger Anzahl installieren von Laravel 5 Anwendungen die gleiche Funktionalität zu haben und darüber zu bauen.Wie Laravel 5 Service Provider aus dem Anbieterpaket selbst zu installieren?
Ich bin neu bei der Entwicklung von Composer-Paketen und insbesondere bei der Einbindung von Paketen in Laravel 5 mithilfe von Dienstanbietern. Bisher habe ich gelernt, dass, wenn ich einen Dienstanbieter wie die Verwendung unten, ich in der Lage sein, die Routen in der Laravel 5-Anwendung zu verwenden:
<?php
namespace Uppdragshuset\AO\Tenant;
use Illuminate\Support\ServiceProvider;
class TenantServiceProvider extends ServiceProvider
{
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
//
}
/**
* Register the application services.
*
* @return void
*/
public function register()
{
include __DIR__.'/routes.php';
}
}
Nun, diese Arbeit zu machen, die ich benötige nur das Paket über Komponist in jede neue Laravel 5-Installation und dann brauche ich nur, um aktualisierte den Array-Anbieter in app.php
mit diesem:
Uppdragshuset\AO\Tenant\TenantServiceProvider::class
Dies macht Sinn für mich und funktioniert auch. Aber jetzt hat das Paket, das ich entwickle, auch eigene Abhängigkeiten und viele dieser Abhängigkeitspakete haben auch Laravel 5-Dienstanbieter, so dass ich sie alle manuell in die Laravel5-Installationen aufnehmen muss, damit sie funktionieren.
Aber ich denke, es muss eine Möglichkeit geben, diese abhängigen Dienstanbieter in dem Paket, das ich selbst erstelle, irgendwie zu registrieren, so dass ich nur den einen Provider, den ich oben erwähnt habe, registrieren muss. Das Problem ist, ich weiß nicht, wie ich das machen soll und kann nirgends eine ähnliche Referenz finden. Wie registriere ich mehrere Service Provider aus dem Composer-Paket selbst?
Ja, das ist der Weg zu gehen: Sie können Service-Provider innerhalb von Service-Providern registrieren. –
Danke, ich habe es gerade geschafft, einen Laravel Service Provider zu überschreiben, indem ich '$ this-> app-> register()' aus meinem Paket verwende – myol