0
プッシュでイベントをブロードキャストしようとしました。しかし、長い時間のデバッグの後、私はまだ実用的な解決策がありません。Laravel 5.2はイベントをブロードキャストしていません
プッシャーはうまく動作し、デバッグコンソールからイベントを取得しています。ララヴェルもこのイベントを起こしている。また、キューとブロードキャストの構成も設定しましたが、キューリスナーが応答を得られないことに気付きました。
これは私のイベントリスナーです:
<?php
namespace App\Listeners;
use App\Events\SomeEvent;
use Illuminate\Contracts\Queue\ShouldQueue;
class EventListener implements ShouldQueue
{
/**
* Create the event listener.
*
* @return void
*/
public function __construct()
{
}
/**
* Handle the event.
*
* @param SomeEvent $event
* @return void
*/
public function handle(SomeEvent $event)
{
//dd($event);
}
}
ルート:
Route::get('event', function() {
event(new App\Events\SomeEvent());
return "event fired";
});
イベントファイル:
<?php
namespace App\Events;
use App\Events\Event;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
class SomeEvent extends Event implements ShouldBroadcast
{
use SerializesModels;
public $data;
public $x = 1111;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct()
{
$this->data = array(
'power'=> '10'
);
}
/**
* Get the channels the event should be broadcast on.
*
* @return array
*/
public function broadcastOn()
{
return ['test_channel'];
}
}
編集: 私はlaravelを再インストールし、現在キューが応答するようで、ジョブテーブルに行を作成します。プッシャーはまだララベルのイベントを受け付けていません。
既にこれを行いました。イベントは正しく発生しています –