divengine / nodes
Div PHP Nodes 是一个用 PHP 编写的 PHP No-SQL 数据库系统
2.0.0
2019-07-04 05:51 UTC
Requires
- php: >=5.4.0
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