2016-07-12 18 views
1

Wie schreibt man das $ listen Mapping richtig? - Ich habe ein Paket und eine ServiceProvider-Datei in diesem Paket erstellt.

Mein Problem ist, ich weiß nicht, wie der Klassenpfad für das Paket zugreifen, hier ist der Code, den ich versuchte:

/** 
* The event listener mappings for the application. 
* 
* @var array 
*/ 
protected $listen = [ 
    'damjan\random\ActionDone' => [ 
    'damjan\random\ThingToDoAfterEventWasFired', 
    ], 
]; 

Habe ich in einem den Klassenpfad der Listener und Ereignisklassen eingestellt falsches Schema :)?

Antwort

0

Hatte die gleiche Frage vor einer Woche. Heute herausgefunden, wie man es löst. Ich weiß nicht, ob es möglich ist, das Array zu überschreiben, aber Sie könnten Ihrem Paket einen zweiten Service Provider mit dem gleichen Code wie dem Laravel 5.2 Event Service Provider hinzufügen.

-Code finden Sie hier: https://github.com/laravel/laravel/blob/master/app/Providers/EventServiceProvider.php

Dann Sie diesen Service-Provider mit dem folgenden Code in Ihrem Paket-Dienstleister dienen könnte:

/** 
* Register the service provider. 
* 
* @return void 
*/ 
public function register() 
{ 
    $this->app->register(PackageEventServiceProvider::class); 
}