Serialization in PHP

Learn how to serialize data for IPC and data storage in PHP.

AMPHP is a collection of event-driven libraries for PHP designed with fibers and concurrency in mind. amphp/serialization is a library providing serialization tools for IPC and data storage in PHP.

Latest Release MIT License


This package can be installed as a Composer dependency.

composer require amphp/serialization


The main interface of this library is Amp\Serialization\Serializer.


namespace Amp\Serialization;

interface Serializer
     * @param mixed $data
     * @throws SerializationException
    public function serialize($data): string;

     * @return mixed
     * @throws SerializationException
    public function unserialize(string $data);


JSON serialization can be used with the JsonSerializer.

Native Serialization

Native serialization (serialize / unserialize) can be used with the NativeSerializer.

Passthrough Serialization

Sometimes you already have a string and don’t want to apply additional serialization. In these cases, you can use the PassthroughSerializer.


Often, serialized data can be compressed quite well. If you don’t need interoperability with other systems deserializing the data, you can compress your serialized payloads by wrapping your Serializer instance in an CompressingSerializer.


If you discover any security related issues, please email [email protected] instead of using the issue tracker.


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