loner / reactor
事件反应器,用于事件的侦听与响应,可处理事件:信号、流读写、定时器。
v1.0.3
2022-02-24 06:08 UTC
Requires
- php: ^8.0
This package is auto-updated.
Last update: 2025-05-24 18:13:50 UTC
README
事件反应器,用于事件的侦听与响应,可处理事件:信号、流读写、定时器。
运行环境
- PHP >= 8.0 && PHP < 9.0
安装
composer require loner/reactor
应用说明
-
创建实例
<?php use Loner\Reactor\Builder; // composer 自加载,路径视具体情况而定 require __DIR__ . '/vendor/autoload.php'; // 事件反应驱动对象 $reactor = Builder::create();
-
事件侦听
-
添加优先任务(下次事件循环优先处理)
$reactor->addSooner(callable $listener): void; # 内部回调 $listener();
-
套接字读
# 增/改 $reactor->setRead(resource $stream, callable $listener): bool; # 内部回调 $listener(resource $stream); # 删 $reactor->delRead(resource $stream): bool;
-
套接字写
# 增/改 $reactor->setWrite(resource $stream, callable $listener): bool; # 内部回调 $listener(resource $stream); # 删 $reactor->delWrite(resource $stream): bool;
-
信号
# 增/改 $reactor->setSignal(int $signal, callable $listener): bool; # 内部回调 $listener($signal); # 删 $reactor->delSignal(int $signal): bool;
-
定时器
# 增:秒数、回调、是否周期性 # Loner\Reactor\Timer\Timer $reactor->addTimer(float $interval, callable $listener, bool $periodic = false): Timer; # 内部回调 $listener(Timer $timer); # 删 $reactor->delTimer(Timer $timer): bool;
-
定时任务
# 增:回调、时间规则(分、时、日、月、周,缺省由 * 代替) # Loner\Reactor\Crontab\Crontab $reactor->addCrontab(callable $listener, string ...$timeRules): Crontab; # 内部回调 $listener(Crontab $crontab); # 删 $reactor->addCrontab(Crontab $crontab): bool;
-
-
事件轮询
$reactor->loop(): void;
-
退出事件轮询
$reactor->destroy(): void;