Jsonnet-PHP v1.1.0 发布, PHP 的支持扩展 - 开源中国社区
Jsonnet-PHP v1.1.0 发布, PHP 的支持扩展
蝙蝠 2016年07月14日

Jsonnet-PHP v1.1.0 发布, PHP 的支持扩展

蝙蝠 蝙蝠 发布于2016年07月14日 收藏 22

有免费的MySQL,为什么还要买? >>>  

Jsonnet-PHP v1.1.0 发布了,JsonNet-PHP 是 Google Jsonnet 对 PHP的支持扩展,v1.1.0,使用最新版本至v0.8.9的LibJsonnet。

pecl:  http://pecl.php.net/package/jsonnet

github:  https://github.com/Neeke/Jsonnet-PHP

Change Log:

- Update Lib JsonNet use v0.8.9.
- Fixed issue #1 #2, install error and .so load failed.

Google Jsonnet Tutorial

jsonnet语言,为我们最常使用的json对象赋予了新的生命力。使用jsonnet来描述json对象,可以在json对象中方便地使用变量\引用\循环等语法,甚至可以书写业务逻辑。

Install Jsonnet-PHP扩展

The pecl package is :  http://pecl.php.net/package/jsonnet

pecl install jsonnet

Input (Jsonnet)

{
    cocktails: {
        // Ingredient quantities are in fluid ounces.
        "Tom Collins": {
            ingredients: [
                { kind: "Farmers Gin", qty: 1.5 },
                { kind: "Lemon", qty: 1 },
                { kind: "Simple Syrup", qty: 0.5 },
                { kind: "Soda", qty: 2 },
                { kind: "Angostura", qty: "dash" },
            ],
            garnish: "Maraschino Cherry",
            served: "Tall",
        },
        Manhattan: {
            ingredients: [
                { kind: "Rye", qty: 2.5 },
                { kind: "Sweet Red Vermouth", qty: 1 },
                { kind: "Angostura", qty: "dash" },
            ],
            garnish: "Maraschino Cherry",
            served: "Straight Up",
        },
    }
}

Output (JSON)

{
    "cocktails": {

        "Tom Collins": {
            "ingredients": [
                { "kind": "Farmers Gin", "qty": 1.5 },
                { "kind": "Lemon", "qty": 1 },
                { "kind": "Simple Syrup", "qty": 0.5 },
                { "kind": "Soda", "qty": 2 },
                { "kind": "Angostura", "qty": "dash" }
            ],
            "garnish": "Maraschino Cherry",
            "served": "Tall"
        },
        "Manhattan": {
            "ingredients": [
                { "kind": "Rye", "qty": 2.5 },
                { "kind": "Sweet Red Vermouth", "qty": 1 },
                { "kind": "Angostura", "qty": "dash" }
            ],
            "garnish": "Maraschino Cherry",
            "served": "Straight Up"
        }
    }
}

Demo of PHP

JsonNet::evaluateFile('bar_menu.1.jsonnet');

    $Snippet = '
    {
        cocktails: {
            // Ingredient quantities are in fluid ounces.
            "Tom Collins": {
                ingredients: [
                    { kind: "Farmers Gin", qty: 1.5 },
                    { kind: "Lemon", qty: 1 },
                    { kind: "Simple Syrup", qty: 0.5 },
                    { kind: "Soda", qty: 2 },
                    { kind: "Angostura", qty: "dash" },
                ],
                garnish: "Maraschino Cherry",
                served: "Tall",
            },
            Manhattan: {
                ingredients: [
                    { kind: "Rye", qty: 2.5 },
                    { kind: "Sweet Red Vermouth", qty: 1 },
                    { kind: "Angostura", qty: "dash" },
                ],
                garnish: "Maraschino Cherry",
                served: "Straight Up",
            },
        }
    }
    ';

    var_dump(JsonNet::evaluateSnippet($Snippet));
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Jsonnet-PHP v1.1.0 发布, PHP 的支持扩展
分享
评论(4)
最新评论
0

引用来自“回去干活”的评论

不错,6666
但是我想说json可读性并不好,如果是我,会换yaml
Yaconf: PHP Configurations Container
https://github.com/laruence/yaconf
鸟哥出品,避暑精品
0

引用来自“回去干活”的评论

不错,6666
但是我想说json可读性并不好,如果是我,会换yaml
[强]
0
不错,6666
但是我想说json可读性并不好,如果是我,会换yaml
0
哈拉
顶部