tebru/tree

PHP 树形数据结构。允许通过唯一键引用节点。

v0.1.0 2014-05-22 00:12 UTC

This package is auto-updated.

Last update: 2024-09-24 11:28:52 UTC


README

Build Status

树形数据结构

此库旨在提供一种面向对象的方式来创建树形数据结构。每个节点都有一个用户定义的唯一 ID,通过该 ID 进行引用。

安装项目

运行 composer require tebru/tree:1.0.*

创建树

创建树非常简单。您只需实例化它: $tree = new Tree(); 这将创建树对象并创建一个根节点进行操作。

创建节点

创建节点有多种选项。

  • 要将节点附加到根节点,可以这样做: $tree->createNode('node');
  • 如果您想将此节点添加到不同的节点,可以这样做: $tree->createNode('node2', 'node');
  • 您可以选择通过这样做向节点添加任意数据: $tree->createNode('a_category', null, 'Foo Category');
  • 最后,您可以通过以下方式指定节点应在父节点的子节点中的位置: $tree->createNode('node', null, null, 10);
    • 您不能为不存在的索引指定位置
    • 设置位置将使所有现有节点从指定的索引开始后退 1 个空间

删除节点

只需传递节点 ID: $tree->removeNode('node'); 这将删除该节点及其所有子节点从树中。

移动节点

这也很简单。只需指定要移动的节点 ID 和其新父节点的节点 ID: $tree->moveNode('node', 'newNodeId');

测试

从根目录运行 phpunit 以运行测试。

版本控制

此项目使用语义版本控制 [http://semver.org] 进行版本控制。