smidswater/abos

更好的对象语法

0.0.3 2018-06-26 11:36 UTC

This package is auto-updated.

Last update: 2024-09-11 19:51:24 UTC


README

更好的对象语法,JSON和PHP数组

安装

Composer

composer require smidswater/abos

API

\Smidswater\ABOS::decode(/* JSON HERE */); //eg. file.json or "{stringified json}" or array

它解决了什么问题?

使用这个模块,你的json / 数组变得有意识,因此你可以使用 @top(JSON的根)、@parent(当前作用域的父级)或 @this(当前作用域)。

演示

var_dump(ABOS::decode([
    'jsonItem1' => 'Hello',
    'jsonItem2' => [
        'jsonItem3' => '${@top.jsonItem1} W',
        'jsonItem4' => '${@this.jsonItem3}or'
    ],
    'jsonItem3' => [
        'jsonItem5' => '${@this.jsonItem4}',
        'jsonItem4' => '${@parent.jsonItem2.jsonItem4}ld'
    ]
]));

解析为

{
    "jsonItem1": "Hello",
    "jsonItem2": {
        "jsonItem3": "Hello W",
        "jsonItem4": "Hello Wor"
    },
    "jsonItem3": {
        "jsonItem5": "Hello World",
        "jsonItem4": "Hello World"
    }
}