A pure PHP implementation of the MessagePack serialization format / msgpack.org[PHP]
MessagePack\Ext
class to MessagePack\Type\Ext
MessagePack\TypeTransformer\CanPack
interface to MessagePack\CanPack
MessagePack\TypeTransformer\Extension
interface to MessagePack\Extension
MessagePack\CanBePacked
interface, updated the MessagePack\Type\Map
, MessagePack\Type\Bin
and MessagePack\Type\Ext
classes to implement the interfaceMessagePack\TypeTransformer\MapTransformer
and MessagePack\TypeTransformer\BinTransformer
transformers, added MessagePack\TypeTransformer\TraversableTransformer
BIGINT_AS_GMP
or BIGINT_AS_DEC
unpacking option is setPackOptions::FORCE_STR
option the defaultAdded Packer::packFloat32()
and Packer::packFloat64()
MessagePack\TypeTransformer\StreamTransformer
to pack stream resources into MP_BIN
BufferUnpacker::getRemainingCount()
BufferUnpacker::hasRemaining()
BufferUnpacker::release()
UnpackOptions::BIGINT_AS_DEC
InsufficientDataException::unexpectedLength()
IntegerOverflowException
UnpackOptions::BIGINT_AS_EXCEPTION
BufferUnpacker::tryUnpack()
no longer releases the read buffer, to release the buffer use BufferUnpacker::release()
BufferUnpacker
constructor to accept UnpackOptions
instead of PackOptions
Ext
(previously the Ext
"type" byte wasn't taken into account which could result in a notice Uninitialized string offset
for extensions with zero-length data)Illegal offset type
).gitattributes
Gave transformers a higher priority than raw extensions while packing
BufferUnpacker::extendWith()
BufferUnpacker::withBuffer()
BufferUnpacker::read()
Packer::extendWith()
TypeTransformer\Extension
Tests\Perf\Benchmark\PausableBenchmark
Type\Binary
→ Type\Bin
TypeTransformer\BinaryTransformer
→ TypeTransformer\BinTransformer
TypeTransformer\Packable
→ TypeTransformer\CanPack
BufferUnpacker::__construct()
now accepts Extension[] $extensions
as the third argumentPacker::__construct()
now accepts CanPack[] $transformers
as the second argumentBufferUnpacker::__clone()
Cloning a BufferUnpacker object no longer resets the internal buffer, to get the old behavior
use $unpacker = $unpacker->withBuffer('')
BufferUnpacker::registerTransformer()
Packer::registerTransformer()
TypeTransformer\Unpackable