mpyw / stream-interface-resource
Create resource stream from PSR-7 StreamInterface implementation
Installs: 8 134
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: ^7.1 || ^8.0
- guzzlehttp/psr7: ^1.7
- psr/http-message: ^1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.14
- phpunit/phpunit: ^8.5
This package is auto-updated.
Last update: 2021-11-26 15:24:55 UTC
README
DEPRECATED: This package has been abandoned. Use guzzlehttp/psr7 bulit-in methods instead.
<?php use GuzzleHttp\Psr7\StreamWrapper; use GuzzleHttp\Psr7\Utils; $fp = StreamWrapper::getResource(Utils::streamFor("a\nbcd\n"));
Stream Interface Resource
Create resource stream from PSR-7 StreamInterface implementation.
Requirements
- PHP:
^7.1 || ^8.0
- guzzlehttp/psr7:
^1.7
Installing
composer require mpyw/stream-interface-resource
Usage
From StreamInterface
<?php use Mpyw\StreamInterfaceResource\StreamInterfaceResource; use GuzzleHttp\Psr7\Utils; $fp = StreamInterfaceResource::open(Utils::streamFor("a\nbcd\n")); var_dump(fgets($fp)); // "a\n" var_dump(feof($fp)); // false var_dump(fgets($fp)); // "bcd\n" var_dump(feof($fp)); // false (PHP ~7.1), true (PHP ^7.2) var_dump(fgets($fp)); // false var_dump(feof($fp)); // true
From String
StreamInterfaceResource::open("a\nbcd\n")
From Iterator
StreamInterfaceResource::open(new ArrayIterator(["a\n", "b\n", "c\n"]))
From Generator
StreamInterfaceResource::open((function () { for ($i = 0; true; ++$i) { yield "$i\n"; } })())
Supported Operations
fclose
feof
fgets
fread
fseek
ftell
fwrite
rewind
stream_get_contents
stream_copy_to_stream