irfan-dahir / folderdb
扁平文件JSON数据库
v1.0.1
2020-06-09 07:34 UTC
Requires
- irfan-dahir/php-mom: dev-master
This package is auto-updated.
Last update: 2024-09-09 17:14:55 UTC
README
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
依赖
- PHP 7.1+
- irfan-dahir/php-mom
问题
请为任何错误/安全风险等创建问题。