Автор оригинала: David Wong.
4 августа 2019 года 20:16:21 XXM
Следуйте предыдущему блогу: создайте свое приложение laravel instant (I) – инициализация и создание проекта
В прошлом блоге я представил базовую конструкцию проекта, а теперь собираюсь попрактиковаться
(I. отправка сообщения)
1. Создать класс событий
Широковещательный толчок Laravel реализуется через событие. Затем создайте класс событий с помощью команды artisan
php artisan make:event TestEvent
Для того, чтобы соответствовать нашей системе вещания, нам необходимо реализовать, как это
class TestEvent implements ShouldBroadcast
2. Укажите push-канал
Возвращенный объект изменения
public function broadcastOn()
{
return new Channel('notice');
}3. Прослушивание сообщений
Вам необходимо установить laravel echo и сокет. Клиент ввода-вывода
npm install --save socket.io-client npm install --save laravel-echo
После установки откройте файл/assets/JS/bootstrap. JS и добавьте код, содержащий базовую конструкцию объекта echo
import Echo from 'laravel-echo'
window.io = require('socket.io-client');
window.Echo = new Echo({
broadcaster: 'socket.io',
host: window.location.hostname + ':6001'
}); После сборки начните прослушивать события канала в нашем JS-коде
PS: не забудьте запустить после изменения запуск prod | NPM запуск dev==
window.Echo.channel('test-event')
.listen('ExampleEvent', (e) => {
console.log(e);
});4. Результаты тестирования приложения
Мы проверяем, добавляя путь
Route::get('/notice',function(){
$event = event (New \ app \ events \ testevent ('test notification ');
});Эффект мониторинга страницы заключается в следующем:
Вышесказанное завершает основную отправку сообщений и мониторинг. Конечно, есть и другие навыки, не проявленные на месте. Заинтересованные студенты могут запросить документы: https://laravel.com/docs/5.6/… Чтобы получить больше знаний и навыков
== Тестовое событие. Полный код PHP выглядит следующим образом:
message = $message;
}
/**
* Get the channels the event should broadcast on.
*
* @return \Illuminate\Broadcasting\Channel|array
*/
public function broadcastOn()
{
return new Channel('notice');
}
}
Оригинал: “https://developpaper.com/build-your-laravel-instant-app-2-message-push-and-monitor/”