函式名:EventBase::loop()
適用版本:PHP 7.0 或更高版本
用法:EventBase::loop() 函式用於啟動事件迴圈。它會不斷檢查並處理已註冊的事件,直到事件迴圈被顯式停止。
示例:
<?php
// 建立事件庫物件
$base = new EventBase();
// 建立定時器事件
$timer = Event::timer($base, function() {
echo "定時器事件觸發\n";
});
// 設定定時器的回撥間隔為2秒
$timer->add(2);
// 開始事件迴圈
$base->loop();
// 停止事件迴圈
$base->stop();
?>
在示例中,我們首先建立了一個事件庫物件 $base
。然後,使用 $base
物件建立了一個定時器物件 $timer
。我們設定了定時器的回撥間隔為2秒。然後,透過呼叫 $base
物件的 loop()
方法開始事件迴圈。在每個事件迴圈中,定時器事件會被觸發,並輸出 "定時器事件觸發"。最後,透過呼叫 $base
物件的 stop()
方法停止事件迴圈。
注意:在實際使用中,迴圈事件通常與其他型別的事件(如訊號事件、IO事件)一起使用,以便於多種型別的事件可以在同一個事件迴圈中處理。以上示例僅演示瞭如何使用定時器事件。