wallrio/deskdb

一个基于JSON格式的嵌入式小型数据库。

1.0.5 2021-09-18 23:24 UTC

This package is auto-updated.

Last update: 2024-09-19 06:01:49 UTC


README

一个基于JSON格式的嵌入式小型数据库。

安装

建议使用Composer直接安装。

$ composer require wallrio/deskdb "*"

实例化一个集合类

use deskdb\Collection as Collection;

$deskdb = new Collection(COLLECTION_NAME,DRIVER);
  • 示例
use deskdb\drivers\JSON as JSON;
use deskdb\Collection as Collection;

$collection = new Collection('users',new JSON(__DIR__.'/mybase/'));

JSON,负责有效地执行操作。

JSON,如果省略了构造函数的值,则系统将使用临时目录。

创建文档

use deskdb\Document as Document;

$user = new Document();
$user->name = "Fulano da Silva";
$user->username = "fulano";
$user->password = md5("fulano");

$collection->post($user);

其他示例

搜索集合中所有文档

$result = $collection->get();

搜索文档

$result = $collection->get(KEY,VALUE,OPERATOR);
  • KEY:可以是任何文档键
  • VALUE:可以是任何文档值,部分或全部
  • OPERATOR:参考值以执行搜索
    • ==:搜索相似值
    • !=:搜索不同值
    • ===:按相同值搜索
    • !==:寻找完全不同的值
    • like:寻找相似值(类型soundex)
    • !like:搜索不相似的值(类型soundex)
    • contain:按值部分搜索
    • !contain:搜索不存在值的部分

搜索首次出现的文档

$result = $collection->getFirst(KEY,VALUE,OPERATOR);

删除文档

$result = $collection->get();

$collection->delete($result);

** delete ** 的值接受一个结果数组

更新文档

$result = $collection->getFirst();

$result->name="ANOTHER NAME";
$result->age="34";

$collection->put($result);

** put ** 的值接受一个结果数组

建议

明确建议使用以下代码来阻止查看您的JSON目录和文档。

以下阻止脚本示例

APACHE

在应用程序的主要目录中创建一个 .htaccess 文件

# Block directory list view
Options -Indexes

# Block the visualization of document JSON
<Files "*_deskdb.json">
Order Allow,Deny
Deny from all
</Files>
NGINX

将以下摘录插入到服务器的 nginx.conf 文件中。

location ~ \.*_deskdb.json {
        deny all;
    }

许可证

DeskDB采用MIT许可证。有关更多信息,请参阅许可证文件