J'ai un événement appelé 'Event1' et un écouteur d'événement 'Event1Listener' pour l'événement dans mon application lumen. J'ai besoin de publier un message personnalisé sur un canal redis appelé 'channel1' quand event1 est déclenché. Comment puis-je faire ceci?Comment publier un message sur un canal redis en utilisant la diffusion lumen?
Event1.php
<?php
namespace App\Events;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
class Event1 extends Event implements ShouldBroadcast
{
/**
* Create a new event instance.
* @return void
*/
public function __construct() {
}
/**
* Get the channels the event should be broadcast on.
*
* @return array
*/
public function broadcastOn() {
return ['channel1'];
}
}
?>
Event1Listener.php
<?php
namespace App\Listeners;
use App\Events\Event1;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
class Event1Listener {
/**
* Create the event listener.
*
* @return void
*/
public function __construct(){
}
/**
* Handle the event.
*
* @param Event1 $event
* @return void
*/
public function handle(Event1 $event) {
echo "What should I add here?";
}
}
?>
Obtenir une erreur lorsque 'Redis :: publish()' est appelé. J'ai '" "illuminer/redis": "~ 5.1" 'et' "predis/predis": "~ 1.0" 'dans mon composer.json et aussi appelé' Use Redis' dans le fichier d'écoute. Le dossier du fournisseur contient le répertoire illuminate/redis et a également enregistré Illuminate \ Redis \ RedisServiceProvider dans mon fichier bootstrap/app.php. – LJP
Veuillez partager votre fichier 'app.php' et avez-vous essayé' composer dump-autoload'? – linktoahref
'$ app-> configure ('diffusion'); $ app-> register (App \ Providers \ EventServiceProvider :: class); $ app-> register (Illuminate \ Redis \ RedisServiceProvider :: class); ' – LJP