tebru / tree
PHP 树形数据结构。允许通过唯一键引用节点。
v0.1.0
2014-05-22 00:12 UTC
Requires
- php: >=5.5.0
This package is auto-updated.
Last update: 2024-09-24 11:28:52 UTC
README
树形数据结构
此库旨在提供一种面向对象的方式来创建树形数据结构。每个节点都有一个用户定义的唯一 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] 进行版本控制。