函式名:EventBase::exit()
適用版本:Event 擴充套件的版本 >= 2.0.0
用法: EventBase::exit() 函式用於告知事件迴圈應該終止,並停止處理後續的事件。
示例: 以下示例演示瞭如何使用 EventBase::exit() 函式來終止事件迴圈的執行:
$base = new EventBase();
$event = Event::signal($base, SIGINT, function() use ($base) {
echo "Termination signal received. Exiting...\n";
EventBase::exit($base); // 告知事件迴圈終止執行
});
echo "Event loop started. Use Ctrl+C to exit.\n";
$base->loop();
echo "Event loop exited.\n";
在上面的示例中,我們建立了一個事件迴圈物件 $base
和一個訊號事件 $event
。當接收到 SIGINT
訊號時,回撥函式會被觸發,並在輸出一條終止訊號的訊息後,呼叫了 EventBase::exit()
函式來告知事件迴圈終止執行。然後,事件迴圈會退出,並輸出一條事件迴圈退出的訊息。
請注意,EventBase::exit()
函式必須在事件迴圈的回撥函式內部或者在呼叫 $base->loop()
方法之前呼叫,否則它將不會立即觸發事件迴圈的終止。