pedrotroller / phpetroleum
Because at least one good thing comes from petroleum industry
Installs: 97
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 1
Open Issues: 0
pkg:composer/pedrotroller/phpetroleum
Requires (Dev)
- phpspec/phpspec: ~2.0.0
This package is auto-updated.
Last update: 2025-10-19 04:44:20 UTC
README
Because at least one good thing comes from petroleum industry
Installation
composer require pedrotroller/phpetroleum ~1.0.0
Usage
Create a simple pipe
$pipe = new PHPetroleum\Pipe('/tmp/pipe');
Then you, are able to write some content on this Pipe
$pipe->write('some content');
Or you can wait for content
$content = $pipe->read();
Use stream
One-way stream
$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);
Two-way stream
This stream is using tow pipes, one to read content, the other one to answer.
$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');
How did it works
The Pipe object will push two elements into the pipe file, the message size and the message itself.
By default, the message size is stored into 8 bytes but you can change the size.
For exemle, if you write test, the entire message will be 00000004test (00000004 is the size for the message, test the message itself)
If you set the message size length to 6 (php $pipe = new PHPetroleum\Pipe('/tmp/file', 6); ) test will be stored 000004test