websterl3o / messenger-laravel

Implementação do Messenger para Laravel

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Messenger Laravel

Instalação

Via Composer

$ composer require braiphub/messenger-laravel
$ php artisan vendor:publish --tag=messenger.config

Para instalação compatível com Composer 1, forçar a busca no repositório do GitHub em composer.json:

{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/braiphub/messenger-laravel"
        }
    ]
}

Como usar

Enviar Mensagem

Para enviar uma mensagem basta emitir um Evento normal do Laravel com o contrato Braip\Messenger\Contracts\ShouldMessage.

use Braip\Messenger\Contracts\ShouldMessage;

class EventoTesteEnviado implements ShouldMessage
{
    public function messageWith(): array
    {
        return [
          // payload que vai ser enviado para os outros sistemas
        ];
    }
}

event(new EventoTesteEnviado());

Receber Mensagem

Colocar no EventServiceProvider o evento desejado com o prefixo Messenger:. O listener vai receber um objeto do tipo Braip\Messenger\Events\MessageReceived como evento.

//EventServiceProvider.php

protected $listen = [
    'Messenger:{nomeDoEvento}' => [
        // Listeners
    ]
];
class ListenerExemplo
{
    public function handle($event)
    {
        $event->payload;
        $event->eventType;
    }
}

Utilize o comando php artisan messenger:work para conectar a fila(SQS) e buscar as mensagens para processar. Em produção você pode utilizar o Supervisor para agendar execução.(Material de apoio para configuração)

About

Implementação do Messenger para Laravel


Languages

Language:PHP 100.0%