irfan-dahir/folderdb

扁平文件JSON数据库

v1.0.1 2020-06-09 07:34 UTC

This package is auto-updated.

Last update: 2024-09-09 17:14:55 UTC


README

Version Average time to resolve an issue Average time to resolve an issue stable MIT License

FolderDB是一个扁平文件JSON数据库,其用法与MongoDB的PHP API相似。

它将数据保存到目录中,以文件形式存储键值对,其中“键”是文件名,“值”是JSON数据。

FolderDB使用魔术方法来自动创建或管理“集合”/目录。

composer require irfan-dahir/folderdb

$client->users->insert(
    'username',
    \FolderDb\Document::fromArray([
        'id' => '123',
        'first_name' => 'John',
        'last_name' => 'Doe',
        'email' => 'john@example.com'
    ])
);

$user = $client->users->get('username');

echo $user->email; // "john@example.com"

// To Array
echo $user->toArray()['email'];

入门指南

require_once __DIR__ .'/vendor/autoload.php';

// Create a client and pass the path to the database folder
$client = new \FolderDb\Client('/path/to/database');

创建文件夹

$client->users;

插入数据

$data = [
    'id' => '123',
    'first_name' => 'John',
    'last_name' => 'Doe',
    'email' => 'john@example.com'
];

// `new \FolderDb\Document()` takes JSON string directly, so we have to convert it to array
$client->users->insert(
    'username',
    \FolderDb\Document::fromArray($data)
);

计数

echo $client->users->count(); // 2

获取文档

$user = $client->users->get('username'); // returns `\FolderDb\Document`

// Access your entry as an object
echo $user->email; // "john@example.com"


// Access your entry as an array
$userArray = $user->toArray();
echo $userArray['email']; // "john@example.com"

获取文件夹中所有文档

$user = $client->users->getAll(); // returns array of `\FolderDb\Document`

检查文档是否存在

$client->users->exists('username'); // returns boolean

删除“集合”

⚠️ 此方法 删除 的“集合” 文件夹 及其内容。 ⚠️

$user->delete(); // returns boolean

依赖

问题

请为任何错误/安全风险等创建问题。