当前位置: 首页 > 后端技术 > PHP

搭建你的Laravel即时应用(二)——消息推送与监控

时间:2023-03-29 20:38:01 PHP

搭建你的Laravel即时应用(二)——消息推送与监控2019-08-0420:16:21XXM转自上一篇博客:搭建你的Laravel即时应用(一)——项目初始化与搭建在上一篇博客中,介绍了项目基本建设完毕,现已进入实际运营。(一.消息推送)1.通过Event创建一个Laravel的广播推送的事件类。接下来通过artisan命令创建一个事件类phpartisanmake:eventTestEvent来配合我们的广播系统,我们需要实现==IlluminateContractsBroadcastingShouldBroadcast==接口,像这个类TestEvent实现了ShouldBroadcast2。指定推送频道变化==broadcastOn==ReturnedChannelobjectpublicfunctionbroadcastOn(){returnnewChannel('notice');}3.监听消息需要安装laravel-echo和socket.io这两个包clientnpminstall--savesocket.io-clientnpminstall--savelaravel-echo安装完成后,打开==resources/assets/js/bootstrap.js==文件,添加包含基本Echo对象的代码构造importEchofrom'laravel-echo'window.io=require('socket.io-client');window.Echo=newEcho({broadcaster:'socket.io',host:window.location.hostname+':6001'});构建完成后,开始在我们的js代码中监听通道事件。PS:记得运行==npmrunprod||更改dev==window.Echo.channel('test-event')后运行npm.listen('ExampleEvent',(e)=>{console.log(e);});4.测试应用结果我们通过添加路由R来测试oute::get('/notice',function(){$event=event(new\App\Events\TestEvent('测试通知'));});页面监听效果如下:上面完成了基本的消息推送和监听,当然还有更多的技巧没有展示到位,有兴趣的同学可以查看文档:https://laravel.com/docs/5.6/...获得更多的知识和技能。==测试事件。php==完整代码如下:message=$message;}/***获取事件应该广播的频道。**@return\Illuminate\Broadcasting\Channel|array*/publicfunctionbroadcastOn(){returnnewChannel('通知');}}