ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[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事件处理器