pedrotroller/phpetroleum

因为石油工业至少带来了一件好事

v1.0.0 2014-07-04 13:12 UTC

This package is auto-updated.

Last update: 2024-09-19 01:58:37 UTC


README

因为石油工业至少带来了一件好事

Build Status Scrutinizer Code Quality

安装

composer require pedrotroller/phpetroleum ~1.0.0

使用

创建一个简单的管道

$pipe = new PHPetroleum\Pipe('/tmp/pipe');

然后你可以在这个管道上写一些内容

$pipe->write('some content');

或者你可以等待内容

$content = $pipe->read();

使用流

单向流

$pipe   = new PHPetroleum\Pipe('/tmp/input');
$stream = new PHPetroleum\Stream\ReaderStream($pipe);
$content = $stream->read();
$pipe   = new PHPetroleum\Pipe('/tmp/output');
$stream = new PHPetroleum\Stream\WriterStream($pipe);
$stream->write($content);

双向流

这个流使用了两条管道,一条用于读取内容,另一条用于响应。

$input   = new PHPetroleum\Pipe('/tmp/input');
$output  = new PHPetroleum\Pipe('/tmp/output');
$stream  = new PHPetroleum\Stream\TwoWayStream($input, $output);
$content = $stream->read();
$stream->write('Other content');

它是如何工作的

管道对象会将两个元素推入管道文件,一个是消息大小,另一个是消息本身。默认情况下,消息大小存储在8个字节中,但你也可以更改大小。例如,如果你写test,整个消息将是00000004test00000004是消息的大小,test是消息本身)。如果你将消息大小长度设置为6(php $pipe = new PHPetroleum\Pipe('/tmp/file', 6); test将存储为000004test