【发布时间】:2010-09-21 06:47:39
【问题描述】:
我正在寻找一个包含所有必需功能的 PHP(使用 MYSQL)嵌套集类。 例如:
createLeftNode、createRightNode、createRootNode、createSubNode、deleteNode 和 moveTree。不仅是一左一右,一上一下,而且是另一棵树中的一棵树的一部分。
谢谢!
【问题讨论】:
标签: php class nested set nested-sets
我正在寻找一个包含所有必需功能的 PHP(使用 MYSQL)嵌套集类。 例如:
createLeftNode、createRightNode、createRootNode、createSubNode、deleteNode 和 moveTree。不仅是一左一右,一上一下,而且是另一棵树中的一棵树的一部分。
谢谢!
【问题讨论】:
标签: php class nested set nested-sets
我编写了一个嵌套集实现,它使用 Doctrine DBAL 作为数据库抽象层。因为我们在 Drupal 中使用它,所以它还跟踪 revision_id。
【讨论】:
早该更新了,但我更新了https://github.com/fpietka/Zend-Nested-Set(即使有单元测试)。
【讨论】:
看教义的nested behavior
【讨论】:
看看这个库https://github.com/fpietka/Zend-Nested-Set: 实现与 Zend 框架一起使用的嵌套集模型
【讨论】:
周围有一些新东西:http://www.sideralis.org/baobab/
旧的和过时的答案。该库不再受支持。
我将 nstrees 库“buggzzy”发布 (http://www.edutech.ch/contribution/nstrees/index.php) 用于一个项目,我必须让用户能够创建和编辑其公司的组织结构图。
我非常喜欢“Modified Preorder Tree Traversal”算法,但在我看来,nstree 库很慢。就我而言,我必须递归地遍历树。也许是我的脚本中的其他内容很慢。
无论如何,我还在寻找替代方案,我最近查看了 PEAR 网站,发现那里也有一个树库:http://pear.php.net/package/Tree
PEAR 库似乎不如 NSTREE 全面,但我认为它的性能可能更高。
一篇文章对这个问题帮助很大:Storing Hierarchical Data in a Database
【讨论】:
如果您使用分层数据,嵌套良好的集合非常有用。仅使用 php 数组来实现它要复杂得多,尤其是如果您想将这些信息保存在数据库中。
你可以试试这个。从未使用过,但经过简短的代码筛选后,它看起来几乎完成了。
【讨论】: