prewk/serialized-to-ast

将序列化的PHP数据解析为抽象语法树(AST)

0.1.0 2018-04-30 14:35 UTC

This package is auto-updated.

Last update: 2024-08-29 04:48:31 UTC


README

将序列化的PHP数据解析为简单的抽象语法树,无需反序列化。

示例

class Test {
    private $foo = "Private Foo";
    public $bar = 12345;
    protected $baz = ["lorem", "ipsum" => "dolor amet", 67890];
}

$parser = new Prewk\SerializedToAst;
$node = $parser->parse(serialize(new Test));

// Array representation..
$arrayAst = $node->toArray();

// ..or JSON (see below)
$jsonAst = json_encode($node);
{
    "type": "object",
    "public_properties": {
        "bar": {
            "type": "integer",
            "value": 12345
        }
    },
    "protected_properties": {
        "baz": {
            "type": "array",
            "items": {
                "0": {
                    "type": "string",
                    "value": "lorem"
                },
                "ipsum": {
                    "type": "string",
                    "value": "dolor amet"
                },
                "1": {
                    "type": "integer",
                    "value": 67890
                }
            }
        }
    },
    "private_properties": {
        "foo": {
            "type": "string",
            "value": "Private Foo"
        }
    }
}

安装

composer require prewk/serialized-to-ast

适用于

  • 布尔值
  • 整数
  • 字符串
  • 浮点数
  • 空值
  • 数组
  • 对象

如果提供其他类型的数据,则会报错。

警告:实验性,未对边缘情况进行测试。

许可协议

MIT