divengine/nodes

Div PHP Nodes 是一个用 PHP 编写的 PHP No-SQL 数据库系统

2.0.0 2019-07-04 05:51 UTC

This package is auto-updated.

Last update: 2024-09-29 05:28:37 UTC


README

PHP No-SQL 数据库系统

使用 PHP 仅存储和检索关系和序列化数据的库。数据库可以划分为模式。对象(节点)可以建立索引以进行全文搜索和快速查找。

简介

许多 PHP 应用程序通过连接到 SQL 数据库服务器来使用关系数据库存储和检索应用程序信息。

或者,应用程序还可以存储在不需要使用 SQL 的基于文件的数据库中,即所谓的 NoSQL 数据库。

此类提供了一个纯 PHP 实现的 NoSQL 数据库,该数据库在文件中存储和检索信息。

它提供了避免由并发访问引起的问题的功能,例如使用适当的文件锁定,以及其他非平凡文件数据库访问功能。

描述

此类可以管理名为 "nodes" 的混合值(原子值、数组、对象)的数据库,存储在记录文件中。它可以在给定模式目录的节点文件中创建记录。

在将值存储到文件中之前,每个节点都被序列化。节点文件具有由标识符定义的名称。节点还可以引用不同模式目录中的其他节点。

该类还可以

  • 搜索符合条件的数据节点,
  • 检查节点是否存在,
  • 更新、删除和重命名已存储在记录文件中的节点,
  • 锁定节点文件以防止更改
  • 获取、添加和删除节点引用,
  • 检查模式目录是否存在,
  • 创建、重命名和删除模式目录。
  • 使用闭包函数迭代每个节点
  • 为全文搜索索引节点内容
  • 存储统计数据,并动态更新

文档

https://github.com/divengine/nodes/wiki

安装

使用 composer...

composer require divengine/nodes

不使用 composer,下载类并...

include "path/to/divengine/nodes.php";

基本用法

<?php

use divengine/nodes;

$db = new nodes("database/contacts");

$id = $db->addNode([
    "name" => "Peter",
    "age" => 25
]);

$db->setNode($id, [
    "email" => "peter@email.com",
    "phone" => "+1222553335"
]);

$contact = $db->getNode($id);

$db->delNode($id);

享受!

--

@rafageist

https://rafageist.com