phasty/stream

此包的最新版本(0.2.2)没有可用的许可证信息。

PHP 流库

0.2.2 2016-02-11 04:49 UTC

This package is not auto-updated.

Last update: 2024-09-24 02:57:42 UTC


README

此组件是不同类型PHP流的包装器

用法

本包的类允许您以非阻塞的方式处理文件、套接字、管道、输入/输出流等流

use Phasty\Stream\Stream;
use Phasty\Stream\StreamSet;
use Phasty\Stream\Timer;

// use wrapper for STDIN
$readStream = new Stream(STDIN);
// streamset allows you work with different streams at sames time tih interraptions for timers
$streamSet = StreamSet::instance();
$streamSet->addReadStream($readStream);
$readStream->on("data", function($event) use ($streamSet) {
    $data = $event->getData();
    if (trim($data) === "q") {
        $streamSet->stop();
        return;
    }
    echo "you wrote: " . $event->getData();
});
$timer = new Timer(2, 0, function() { 
    echo "Now: " . date("H:i:s"), "\n";
});
$streamSet->addTimer($timer);
$streamSet->listen();
echo "exiting\n";

您将得到类似以下内容

Now: 20:52:11
dawd
you wrote: dawd
Now: 20:52:13
q
exiting