Skip to content

phpinnacle/ambit

Repository files navigation

PHPinnacle Ambit

Latest Version on Packagist Software License Coverage Status Total Downloads

PHPinnacle Ambit is a simple library for operating binary data in PHP. Mostly it simply wraps PHP pack/unpack functions.

Install

Via Composer

$ composer require phpinnacle/ambit

Basic Usage

<?php

use PHPinnacle\Ambit\BinaryWriter;

// AMQP protocol header
$writer = BinaryWriter::bigEndian();
$writer
    ->string('AMQP')
    ->uint8(0)
    ->uint8(0)
    ->uint8(9)
    ->uint8(1)
;

Testing

$ composer test

Benchmarks

$ composer bench

Some results with pure PHP realisation:

Benchmark Best (μs) Mean (μs) Mode (μs) Worst (μs)
appendIntegers 11.605 12.115 12.047 12.888
appendFloats 10.464 10.913 10.786 17.943
appendString 8.857 41.021 20.611 362.174
consume 48.916 50.721 50.399 61.542
read 26.617 27.665 27.500 31.744

And results with enabled extension:

Benchmark Best (μs) Mean (μs) Mode (μs) Worst (μs)
appendIntegers 2.522 2.657 2.625 3.031
appendFloats 1.987 2.136 2.095 3.307
appendString 3.692 3.854 3.806 5.695
consume 13.701 14.654 14.454 17.977
read 5.128 5.425 5.313 6.625

Contributing

Please see CONTRIBUTING and CONDUCT for details.

Security

If you discover any security related issues, please email dev@phpinnacle.com instead of using the issue tracker.

Credits

License

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages