krinfreschi / async-streams
v0.0.3
2014-07-27 18:49 UTC
Requires
- react/event-loop: 0.4.*
This package is not auto-updated.
Last update: 2024-09-24 02:32:02 UTC
README
围绕 reactphp 的异步流封装
灵感来自 guzzle/streams
##安装
可以使用 Composer 简单地安装此包。只需将以下内容添加到项目根目录下的 composer.json 文件中
{ "require": { "krinfreschi/async-streams": "0.0.*" } }
然后使用 composer.phar install 安装您的依赖项。
##全局函数
async_stream_register_read(resource $handle, callable $callable) //$callable will receive args: $handle async_stream_remove_read(resource $handle) async_stream_register_write(resource $handle, callable $callable) //$callable will receive args: $handle, $written, $unwritten async_stream_remove_write(resource $handle)
##示例
use krinfreschi\AsyncStreams\AsyncStreamWrapper; require_once "vendor/autoload.php"; $resource = fopen('php://temp', 'r+'); $handle = AsyncStreamWrapper::make($resource); fwrite($handle, 'data'); async_stream_register_write($handle, function($handle, $written, $unwritten) { fseek($handle, 0); var_dump(stream_get_contents($handle)); fclose($handle); }); AsyncStreamWrapper::run();