[TOC]
* * * * *
## 1 Ev事件處理器
### 1 擴展簡介
內置事件處理器,無需安裝
### 2 事件接口
#### final Ev{} 事件處理器核心
>[info] Ev::run()
~~~
final public static void Ev::run ([ int $flags ] )
~~~
啟動事件循環,等待注冊的事件監視器相應事件發生
事件發生后,自動調用事件監視器的回調函數
#### class EvSignal{} 信號事件監視器
~~~
public EvSignal::__construct ( int $signum , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
~~~
創建信號事件監視器并自動啟動
#### class EvTimer{} 定時器事件監視器
~~~
public EvTimer::__construct ( double $after , double $repeat , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
~~~
創建定時器事件監視器并自動啟動
#### class EvIo{} IO事件監視器
~~~
public EvIo::__construct ( mixed $fd , int $events , callable $callback [, mixed $data [, int $priority ]] )
~~~
創建IO事件監視器并自動啟動
## 2 Event事件處理器
### 1 擴展簡介
安裝libevent擴展
### 2 事件接口
#### final EventBase {} 事件循環體
~~~
public bool EventBase::loop ([ int $flags ] )
~~~
啟動事件循環,等待事件發生
#### final Event {} 事件監視器
~~~
public Event::__construct ( EventBase $base , mixed $fd , int $what , callable $cb [, mixed $arg = NULL ] )
~~~
創建各類事件監視器
~~~
public static Event Event::signal ( EventBase $base , int $signum , callable $cb [, mixed $arg ] )
~~~
創建信號事件監視器
## 3 Livevent事件處理器
### 1 擴展簡介
需要安裝libevent擴展
### 2 事件接口
#### event_base_new() 創建事件循環
~~~
resource event_base_new ( void )
~~~
#### event_new() 創建事件監視器
~~~
resource event_new ( void )
~~~
#### event_set() 設置事件監視器
~~~
bool event_set ( resource $event , mixed $fd , int $events , mixed $callback [, mixed $arg ] )
~~~
#### event_base_set() 注冊事件監視器到事件循環
~~~
bool event_base_set ( resource $event , resource $event_base )
~~~
#### event_add() 添加事件監視器
~~~
bool event_add ( resource $event [, int $timeout = -1 ] )
~~~
#### event_del() 刪除事件監視器
~~~
bool event_del ( resource $event )
~~~
#### event_base_loop() 啟動事件循環
~~~
int event_base_loop ( resource $event_base [, int $flags = 0 ] )
~~~
## 4 Select事件處理器