corneltek/pjson

1.1.0 2016-04-24 06:49 UTC

This package is auto-updated.

Last update: 2024-08-29 04:42:52 UTC


README

PJSONEncoder 实现了一个具有 PHP 对象到 JavaScript 对象转换支持的 JSON 编码器。

您可以为每个 PHP 类型指定自己的编码器

use PJSON\PJSONEncoder;
use PJSON\DateTimeEncoder;
$encoder = new PJSONEncoder;
$encoder->setDateTimeEncoder(new DateTimeEncoder(DateTime::ATOM));
$encoder->setStringEncoder(function($value, $encoder) {
    return '"' . addcslashes($value) . '"';
});
$encoder->setClosureEncoder(function($closure, $encoder) {
    return $encoder->encode($closure(1,2,3));
});
$output = $encoder->encode([ ... PHP Array here ... ]);

您还可以从 PHP 将 JavaScript 符号或 JavaScript 函数调用编码到 JSON 中

$encoder = new PJSONEncoder;
$call = new JsFunctionCall('jQuery', ['#documentId']);
$encoder->encode($call); // outputs 'jQuery("#documentId")'
$encoder->encode(['a' => new JsSymbol('js_var')]); // outputs {"a": js_var}

安装

composer require corneltek/pjson '*'

许可证

此软件包在 MIT 许可证下发布