x
Hello from the other side.
擴音器是一個基於 Server-Sent Event 服務的 PHP 函式庫的,用以向客戶端廣播不間斷且持續性連線地單向訊息,
很適合用在類似推特(Twitter)或是聊天室這樣需要推播即時通知的網站。
-
簡潔的使用方式
-
支援多個事件監聽器
-
不到 50 行程式碼即可做成一個聊天室,按下這裡查看範例。
首先你需要初始化擴音器。
$speaker = new Speaker();
接著,你需要新增事件監測器,用來檢測你的伺服器是否有新的資料要推送。
你需要在新增一個(也可以多個)專門給予 SSE(Server-Sent Event)的專屬類別,
並且該類別要延伸於 SpeakerEvents
。
-
update()
是用來回傳資料的地方,只有在check()
回傳true
的時候才會被呼叫。 -
check()
是用來確認是否有新的資料,假設check()
回傳true
,那麼update()
就會被執行。所以這個函式應該要用來放置條件式,確認資料庫是否有新的資料,倘若有,則回傳
true
等。
class FoobarHandler extends SpeakerEvents
{
function update()
{
return json_encode(['foo' => 'bar']);
}
function check()
{
return true;
}
}
然後向擴音器註冊這一個事件監聽器。
$speaker->addListener('', new FoobarHandler());
然後開始擴音(也就是開始你的 Server-Sent Event)。
$speaker->start();