carica / io
PHP 的非阻塞 I/O
2.0.1
2019-11-24 17:25 UTC
Requires
- php: >=7.3
- ext-dom: *
- ext-fileinfo: *
README
许可: MIT 许可证
版权: 2013-2019 Thomas Weinert thomas@weinert.info
Carica Io 是一系列用于非阻塞 I/O 的实验性 PHP 类和脚本。它为使用 Firmata (Arduino) 和 GPIO (Raspberry PI) 进行硬件控制提供了基本构建块。
基本功能
该仓库提供了非阻塞 I/O 所需的 API。包括简单的事件循环和事件发射器。循环实现未进行性能优化。然而,可以使用适配器与 ReactPHP 或 AMPHP 一起使用。
它包含一个(不完整)的 HTTP 服务器,应该足以用于第一步。它支持 GET 请求和 WebSocket 连接。
相关项目
+---------------+
| Carica\Chip |
+-------+-------+
^
|
+----------+----------+
| |
+-------+-------+ +--------+-------+
| Carica\GPIO | | Carica\Firmata |
+-------+-------+ +--------+-------+
^ ^
| |
+----------+----------+
|
+-------+-------+
| Carica\Io |
+---------------+
Carica/Io 提供了基于事件编程的类和简单的 Web 服务器。它定义了硬件控制(引脚、移位输出等)的接口。 Carica/Firmata 是一个用于 Firmata 协议的客户端库,它允许通过串行或网络连接控制 Arduino 板。 Carica/GPIO 使用文件系统或 WiringPI 库实现了 Raspberry PI 中的 GPIO。
Carica/Chip 实现了硬件对象的类。如 LED、RGB-LED、伺服电机等。
用法
您需要从工厂获取循环实例,附加事件并运行它。
$loop = Carica\Io\Event\Loop\Factory::get(); $loop->setInterval( static function () { static $i = 0; echo $i++; }, 1000 ); $loop->run();