wallacesilva/phpjsonlite

一个简单、自包含、无服务器、零配置的 PHP json 文档存储

0.1.2 2015-09-24 14:40 UTC

This package is not auto-updated.

Last update: 2024-10-02 09:14:00 UTC


README

一个简单、自包含、无服务器、零配置的 json 文档存储。基于 nodesocket/jsonlite

JSONlite 沙盒当前工作目录,就像 SQLite。数据目录命名为 jsonlite.data,每个 json 文档都以 uuid 形式保存为漂亮打印。

概念验证

JSONlite 是一个概念验证,实际上在开发或生产中使用它可能没有意义。更多内容请参阅 nodesocket/jsonlite

安装

composer require wallacesilva/phpjsonlite

要求

  1. php >= 5.3

用法

您需要声明对象才能使用这些方法。

$jsonlite = new JSONlite\JSONlite();
// e.g.: $jsonlite->methodName();

set(<string> $object [, <string> $document_id=null])

使用 OR 不使用 document_id 设置对象

$object = array(
    'id'            => 1, 
    'name'          => 'John Doe', 
    'active'        => true, 
    'permissions'   => array(
        'read'      => true,
        'write'     => false,
        'execute'   => true
    )
);
$document_id = $jsonlite->set($object);
// return also like: '666B81D6-3F8A-4D57-BA3F-11FA8FC47246'

get(<string> $document_id)

使用 document_id 获取对象。文档 ID 是一个 UUID

$object = $jsonlite->get($document_id);
// return also like:
/**
{
    "active": true,
    "name": "John Doe",
    "permissions": {
        "read": true,
        "write": false
    }
}
*/

delete(<string> $document_id)

使用 document_id 删除对象。

$deleted = $jsonlite->delete($document_id)

drop()

删除数据库文件夹。默认 './jsonlite.data'

$jsonlite->drop()

setDataPath(<string> $dataPath)

定义新的文件夹数据库。这不是必需的。默认是 './jsonlite.data'

$jsonlite->setDataPath('/var/www/database/jsonlite.data/');

版本

从包返回版本

$jsonlite->version()
// return also like: 0.1.0

变更日志

https://github.com/wallacesilva/phpjsonlite/blob/master/CHANGELOG

支持、错误报告和功能请求

在 GitHub 上创建问题(https://github.com/wallacesilva/phpjsonlite/issues)。

版本控制

为了透明度和对发布周期的洞察,以及为了努力保持向后兼容性,JSONlite 将按照语义版本控制指南进行维护。

发布将按照以下格式编号

<major>.<minor>.<patch>

并按照以下指南构建

  • 破坏向后兼容性会提高主要版本(并重置次要和补丁)
  • 不破坏向后兼容性的新功能会增加次要版本(并重置补丁)
  • 错误修复和其它更改会增加补丁

有关语义版本控制的更多信息,请访问 http://semver.org/

许可证 & 法律

版权 2015 Wallace Silva

根据 Apache 许可证版本 2.0(“许可证”);除非符合许可证规定或书面同意,否则不得使用此文件。您可以在以下位置获得许可证副本:

https://apache.ac.cn/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”提供,不提供任何明示或暗示的保证或条件。有关许可证的具体语言规定权限和限制,请参阅许可证。