[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事件处理器