Yii2通知系统实现

Yii2 notification system implementation

我正在尝试在 Yii2 中实现简单的通知系统。 我在 ListView 中填充了一个记录列表。 我想允许用户投票给这个记录。每个记录只有一次。 此外,必须通知每条记录的作者(就像新收到的电子邮件一样)谁投票支持他的记录。 在 Yii2 中实现这个最简单的方法是什么? 谢谢指教!

只有 php 你不能那样做,你需要在某些时候有 js。

解决方案一可能是,在一定时间后(使用 ajax)从用户 B 端不断询问服务器是否发生任何(事件)。如果它 return 结果与 ajax 并更新页面。 但话又说回来,这不是一个很好的做法。

如果您真的想要实时更新,您可能需要使用socket.io。然后再次使用 php 套接字是一个坏主意。

所以解决方案二来了:yii2 + redis + nodejs + socket

redis 将做 yii2 和 nodejs 之间的通信。这个想法是,如果发生任何事情(事件或更新),yii2 将 publish 一个 event 与关联 data 到 redis channel 和正在监听的 nodejs到该通道将捕获该事件并使用套接字将数据(或更新)发送到客户端。

Here is a real time chat application tutorial using yii2+redis+nodejs+socket.