(PECL event >= 1.2.6-beta)
Event 類別表示檔案描述子準備好讀取或寫入時觸發的事件;檔案描述子變為可讀取或寫入狀態(僅限邊緣觸發 I/O);逾時到期;發生信號;使用者觸發的事件。
每個事件都與一個 EventBase 物件關聯。然而,事件在被*加入*之前(透過 Event::add() 方法)並不會觸發。一個已加入的事件會維持在*待處理*狀態,直到註冊的事件發生,才會轉變為*作用中*狀態。為了處理事件,使用者可以註冊一個回呼函式,當事件變為作用中時,該函式就會被呼叫。如果事件被設定為*持續性*,它會保持在待處理狀態。如果不是持續性的,則在回呼函式執行後,它會停止待處理狀態。Event::del() 方法會*刪除*事件,使其不再處於待處理狀態。透過 Event::add() 方法可以再次加入該事件。
事件是否待決。詳見 關於事件持續性。
Event::ET
表示如果底層事件基底後端支援邊緣觸發事件,則事件應為邊緣觸發。這會影響 Event::READ
和 Event::WRITE
的語義。
Event::PERSIST
表示事件是持續性的。詳見 關於事件持續性。
Event::READ
此旗標表示當提供的檔案描述符(通常是串流資源或通訊端)可供讀取時,事件將變為作用中。
Event::WRITE
此旗標表示當提供的檔案描述符(通常是串流資源或通訊端)可供讀取時,事件將變為作用中。
Event::SIGNAL
用於實現訊號偵測。詳見下方的「建構訊號事件」。
Event::TIMEOUT
此旗標表示在逾時到期後變為作用中的事件。
建構事件時,會忽略 Event::TIMEOUT
旗標:可以在*新增*事件時設定逾時,或是不設定。當發生逾時時,它會在回呼函式的 $what
參數中設定。