🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
在config目录下面有broadcasting.php文件中` 'default' => env('BROADCAST_DRIVER', 'pusher'),` 默认使用pusher这是第三方的收费的服务,我们把他改为redis,使用redis来做实时更新 使用命令行php artisan make:event ANewMessage创建个事件,由于事件是有需要广播和不需要的,所以默认没有广播.我们在`app\Events\ANewMessage.php`中编辑 ~~~ class ANewMessage extends Event implements ShouldBroadcast ~~~ 然后我们在路由中写event(new \App\Events\ANewMessage('Jelly'));传递个参数过去 编辑这个类 ~~~ use SerializesModels; public $name; /** * Create a new event instance. * * @return void */ public function __construct($name) { $this->name=$name; } /** * Get the channels the event should be broadcast on. * * @return array */ public function broadcastOn() { //里面是自定义的频道 return ['test-channel']; } ~~~ laravel会把公开属性转化为json传递给我们的客户端,在背后laravel会用上面的SerializesModels把我们所有公开属性转为json发送到broadcastOn这个频道里面