Автор оригинала: David Wong.
Она была опубликована два года назад, и первоначальный адрес-https://learnku.com/articles/
Недавно я хотел написать чат, поэтому я узнал о трансляции событий laravel. Ссылка взята из http://laravelaccademy.org/pos… Но когда я последовал за блогером, я обнаружил, что событие было успешно запущено, но на консоли отладки pusher не было получено ни одного события. Найдите проблему после отладки.
Во – первых, мы создаем событие:
php artisan make:событие Тестовое событие
В конце концов, код события выглядит следующим образом. Вот записка
Если событие не наследует использование контрактов illuminate, вещание должно транслироваться; интерфейс, событие не будет отправлено на сервер pusher, если оно будет запущено
use ...
//If the event does not inherit the use illuminate \ contracts \ broadcasting \ shouldbroadcast; interface, the trigger event will not be sent to the pusher server
class TestEvent implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
//The type should be public
public $msg;
public function __construct($msg)
{
$this->msg = $msg;
}
public function broadcastOn()
{
return [
'test'
];
}
}Для удобства тестирования мы создаем команду artisan для запуска события
php artisan make:команда тестового события Команды
Откройте приложение класса команд/консоль/команды/testeventcommand.php и отредактируйте его следующим образом
class TestEventCommand extends Command
{
protected $signature = 'pusher:test {message}';
protected $description = 'pusher test';
public function __construct()
{
parent::__construct();
}
public function handle()
{
event(new \App\Events\TestEvent($this->argument('message')));
}
}Откройте приложение/консоль/kernel.php и добавьте только что созданный класс команд в $commands
protected $commands = [
Commands\TestEventCommand::class,
];композитору требуется толкатель/толкатель-php-сервер
После успешного импорта толкателя его необходимо настроить в Env, BROADCAST_DRIVER Необходимо настроить как толкатель 。 Конфигурация/broadcasting.php файл BROADCAST_DRIVER Значение по умолчанию равно null
- PUSHER_APP_ID=you_app_id - PUSHER_APP_KEY=you_app_key - PUSHER_APP_SECRET=you_app_secret - BROADCAST_DRIVER = pusher
Кроме того, тест здесь показывает, что если QUEUE_DRIVER Если конфигурация имеет красный цвет, метод создания драйвера толкателя в диспетчере широковещательной передачи с подсветкой не будет вызываться при запуске события. То есть класс pusher не будет создан для отправки события QUEUE_DRIVER Должен быть настроен как синхронизация
После завершения настройки мы можем отправлять события на сервер pusher с помощью команды artisan,
php artisan pusher:тест “привет”
Затем вы увидите его на консоли отладки pusher
Оригинал: “https://developpaper.com/laravel-5-4-broadcast-events-pusher-configuration-and-use/”