mochaka/serialization-parser

This is my package serialization-parser

v1.0.0 2025-07-13 05:49 UTC

This package is auto-updated.

Last update: 2025-07-13 05:50:07 UTC


README

Parse PHP serialized strings into rich, structured objects — fast, simple, and flexible.

serialization-parser is a PHP package that parses serialized data into a structured, lightweight AST (Abstract Syntax Tree) format.
Each value is converted into a specific typed object (ArrayType, StringType, IntegerType, etc.), with an option to easily export the structure as a plain array.

Installation

You can install the package via composer:

composer require mochaka/serialization-parser

Usage

use Mochaka\SerializationParser\SerializationParser;
$data = serialize(['foo' => 'bar', 'baz' => 1]);
$result = SerializationParser::parse($data);

The above result will be an instance of Mochaka\SerializationParser\Data\ArrayType:

var_dump($result);
Mochaka\SerializationParser\Data\ArrayType {#4172
    +name: null,
    +visibility: null,
    +properties: [
      Mochaka\SerializationParser\Data\StringType {#4170
        +name: "foo",
        +visibility: null,
        +value: "bar",
      },
      Mochaka\SerializationParser\Data\IntegerType {#4171
        +name: "baz",
        +visibility: null,
        +value: 1,
      },
    ],
  }

All types also have a ->toArray() method to dump the schema as an array.

var_dump($result->toArray());

[
    "name" => null,
    "properties" => [
      [
        "name" => "foo",
        "type" => "String",
        "value" => "bar",
        "visibility" => null,
      ],
      [
        "name" => "baz",
        "type" => "Integer",
        "value" => 1,
        "visibility" => null,
      ],
    ],
    "type" => "Array",
    "visibility" => null,
  ]

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Credits

License

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