decodelabs / deliverance
共享数据传输接口
v0.2.12
2024-08-22 12:31 UTC
Requires
- php: ^8.1
- decodelabs/exceptional: ^0.4
- decodelabs/tightrope: ^0.1.1
Requires (Dev)
README
PHP的共享数据传输接口
Deliverance是一个中间件库,旨在供其他需要管理多路IO操作的其他框架系统使用。
在 DecodeLabs博客 上获取新闻和更新。
安装
通过Composer安装
composer require decodelabs/deliverance
使用方法
通道
通道代表简单的输入/输出处理器,可以写入和读取。
use DecodeLabs\Deliverance; $stream = Deliverance::openStream('path/to/file'); $stream->writeLine('Hello world'); $stream = Deliverance::openCliOutputStream(); // Same as new Deliverance\Channel\Stream(STDOUT); $buffer = Deliverance::newBuffer(); $buffer->write('Some text to buffer'); echo $buffer->read(6); // "Some t"
IO代理
通道可以分组并由一个 IO代理
管理
use DecodeLabs\Deliverance; // Create a CLI IO handler $broker = Deliverance::newBroker() ->addInputProvider(Deliverance::openStream(STDIN)) ->addOutputReceiver(Deliverance::openStream(STDOUT)) ->addErrorReceiver(Deliverance::openStream(STDERR)); // Shortcut to the above: $broker = Deliverance::newCliBroker(); // Read line from CLI $broker->setReadBlocking(true); $text = $broker->readLine(); // Write it back to output $broker->writeLine('INPUT: '.$text);
一旦分组,IO代理中的通道可以用作不同信息源之间的接口;参见 Systemic Unix进程启动器 的示例,它使用 proc_open()
管理输入和输出。
许可
Deliverance遵循MIT许可证。有关完整的许可证文本,请参阅 LICENSE。