Appearance
リアルタイム通知 ― 同期で送ったら
この章のキーワード
| 用語 | 意味 | なぜ重要か |
|---|---|---|
| ShouldBroadcast | Laravel でリアルタイム通知を非同期送信するインターフェース | Queue 経由でブロードキャスト |
| Pub/Sub | メッセージの発行(Publish)と購読(Subscribe)を分離するパターン | リアルタイム通知の基盤 |
| ペイロード | 通知で送信するデータの中身 | サイズ制限(Pusher 10KB等)がある |
| チャネル | 通知の配信先を区別する仕組み | friend-added チャネル等 |
Phase 1: 観察
FriendAdded は ShouldBroadcast を実装しています。
php
// FriendAdded.php
// Label: exemplar
class FriendAdded implements ShouldBroadcast
{
public function broadcastWith(): array
{
// 必要最小限のデータのみ
return [
'friendName' => $this->friend->name,
'timestamp' => now()->toIso8601String(),
];
}
}Friend モデルには数十のカラムがありますが、ブロードキャストするのは 2 フィールドだけ です。
Phase 2: 判断
AI禁止ゾーン
- もし
ShouldBroadcastではなく 同期で全クライアントに通知 していたら、何が起きますか? broadcastWith()で Friend モデル全体 を送ったらどうなりますか?- なぜ
friendNameとtimestampだけ を送っているのでしょうか?
AIに聞く前に、自分の頭で考えてみましょう。
テキストを入力すると有効になります