Как получить полезную нагрузку в событии laravel? - PullRequest
0 голосов
/ 25 сентября 2019

В моем контроллере у меня есть этот код.

event(new ExampleEvent(), ['data' => '123']);

у помощника события есть аргументы полезной нагрузки.Я пытаюсь изучить, если я получаю значение данных, используя полезную нагрузку.В моем слушателе

class ExampleListener implements ShouldQueue
{
    use InteractsWithQueue;

    /**
     * Create the event listener.
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

    /**
     * Handle the event.
     *
     * @param  ExampleEvent  $event
     * @return void
     */
    public function handle(ExampleEvent $event)
    {
         // dd($this->payload);
    }
}

я хочу получить значение данных в моей полезной нагрузке как то, что я добавляю в контроллер.Я ищу его в Google о том, как получить полезную нагрузку, но не смог узнать его.

1 Ответ

0 голосов
/ 27 сентября 2019

Если вы передаете объект в качестве первого параметра в функцию event (), все остальные параметры игнорируются.

Вы можете передать полезную нагрузку вашему классу событий:

event(new ExampleEvent('123')); // handle the payload in the constructor

Listener:

public function handle(ExampleEvent $event)
{
     $event->data; // 123
}

ИЛИ

Вы можете использовать строку в качестве имени события:

event('ExampleEvent', ['data' => '123']);

Слушатель:

public function handle($payload) // no type hint!
{
     //$payload == '123'
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...