您的位置 首页 php

72、php Event库介绍

之所以要介绍Event库,而不是 libevent 。是因为libevent目前只支持php7以下.考虑到php7也发布。因此,这里采用Event库进行介绍。

Event库是个有效地调度I/O、时间和基于信号的事件的扩展,不支持window平台。跟libevent差不多。只不过,Event库是采用面向对象,而libevent则是 面向过程 .

1、主要类

EventBase和Event

1.1、两者的关系如下图所示

2e01f2089b4a493daf48f164b2b1873f

1.2、EventBase

检测Event是否为活跃状态

  • free方法

释放EventBase

  • loop方法

等待直到Event为活跃状态,并执行它们的 回调函数

1.3、Event

  • 类常量
67321037c5184c23a767d2c5b4558e81

从表格中的数值,可以用6个二进制位来代表

  • 构造方法

__construct(EventBase $base , mixed $fd , int $what , callable $cb [, mixed $arg = NULL ])

其中:

$base 为EventBase 实例化 对象

$fd为stream资源、 socket 资源、信号值、为定时器时取-1

$what为Event类常量值

$cb为回调方法

$arg为执行回调方法传入的图像

  • add方法

加入检测

  • signal方法

静态方法 ,设置信号检测

  • timer方法

静态方法,设置定时器

1.4、回调函数分类

  • 通用 callback ([ mixed $fd = NULL [, int $what [, mixed $arg = NULL ]]] )
  • Event::timer静态方法 callback ([ mixed $arg = NULL ] )
  • Event::signal callback ([ int $signum [, mixed $arg = NULL ]] )

文章来源:智云一二三科技

文章标题:72、php Event库介绍

文章地址:https://www.zhihuclub.com/42729.shtml

关于作者: 智云科技

热门文章

网站地图