Skip to content
This repository has been archived by the owner on Mar 3, 2023. It is now read-only.
/ Stream Public archive

Stream is an object oriented stream library for PHP.

License

Notifications You must be signed in to change notification settings

GravityMedia/Stream

Repository files navigation

Stream

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads Dependency Status

Stream is an object oriented library for reading and writing binary streams in PHP.

Requirements

This library has the following requirements:

  • PHP 5.6+

Installation

Install Composer in your project:

$ curl -s https://getcomposer.org/installer | php

Add the package to your composer.json and install it via Composer:

$ php composer.phar require gravitymedia/stream

Usage

This is a simple usage example for character streams but is applicable for binary data streams.

require 'vendor/autoload.php';

use GravityMedia\Stream\Stream;

// create resource
$resource = fopen('php://temp', 'r+');

// create new stream object
$stream = Stream::fromResource($resource);

// write some data
$stream->write("\x63\x6f\x6e\x74\x65\x6e\x74\x73");

// seek a position
$stream->seek(4);

// print 32 bit unsigned integer
print $stream->readUInt32() . PHP_EOL;

// rewind stream
$stream->rewind();

// print the data previously written
while (!$stream->eof()) {
    print $stream->read(1);
}
print PHP_EOL;

// print position
print $stream->tell() . PHP_EOL;

// rewind stream
$stream->rewind();

// truncate random data
$stream->truncate(7);

// print the truncated data
while (!$stream->eof()) {
    print $stream->read(1);
}
print PHP_EOL;

Testing

Clone this repository, install Composer and all dependencies:

$ php composer.phar install

Run the test suite:

$ php vendor/bin/phing test

Generating documentation

Clone this repository, install Composer and all dependencies:

$ php composer.phar install

Generate the documentation to the build/docs directory:

$ php vendor/bin/phing doc

Contributing

Please see CONTRIBUTING for details.

Credits

License

The MIT License (MIT). Please see License File for more information.

About

Stream is an object oriented stream library for PHP.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages