Почему мой слушатель Laravel Lumen вызывается дважды? - PullRequest
0 голосов
/ 11 января 2019

Мой слушатель вызывается дважды, но событие вызывается только один раз.

Я получил код из примера Lumen 5.7 и не знаю, где моя ошибка.

самозагрузки / app.php

$app->register(App\Providers\EventServiceProvider::class);

Приложение / Поставщики / EventServiceProvider.php

protected $listen = [
    'App\Events\NewAuthEvent' => [
        'App\Listeners\SendNewAuthListener',
    ],
];

приложение / События / NewAuthEvent.php

use Illuminate\Queue\SerializesModels;
use App\Data\Entity\User;
use App\Data\Entity\Authorization;
use Illuminate\Support\Facades\Log;

class NewAuthEvent
{
    use SerializesModels;

    public $user;

    public $auth;

    public function __construct(User $user, Authorization $auth)
    {
        Log::debug("once :)");
        $this->user = $user;
        $this->auth = $auth;
    }
}

приложение / Слушателей / SendNewAuthListener.php

use App\Events\NewAuthEvent;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use App\Data\Service\MessengerService;
use Illuminate\Support\Facades\Log;

class SendNewAuthListener
{
    private $messenger;

    public function __construct(MessengerService $messenger)
    {
        Log::debug("twice :(");
        $this->messenger = $messenger;
    }

    public function handle(NewAuthEvent $event)
    {
        Log::debug("twice as well :(");
        $this->messenger->new($event->user, $event->auth);
    }
}

запуск события:

event(new NewAuthEvent($objUser, $objAuthorization));

Что мне не хватает? Есть какой-то другой параметр или конфиг, который нужно настроить?

Заранее спасибо!

...