【问题标题】:Searching for the best PHP nested sets class (PEAR class excluded)寻找最好的 PHP 嵌套集类(PEAR 类除外)
【发布时间】:2010-09-21 06:47:39
【问题描述】:

我正在寻找一个包含所有必需功能的 PHP(使用 MYSQL)嵌套集类。 例如:

createLeftNode、createRightNode、createRootNode、createSubNode、deleteNode 和 moveTree。不仅是一左一右,一上一下,而且是另一棵树中的一棵树的一部分。

谢谢!

【问题讨论】:

    标签: php class nested set nested-sets


    【解决方案1】:

    我编写了一个嵌套集实现,它使用 Doctrine DBAL 作为数据库抽象层。因为我们在 Drupal 中使用它,所以它还跟踪 revision_id

    https://github.com/previousnext/nested-set

    【讨论】:

      【解决方案2】:

      早该更新了,但我更新了https://github.com/fpietka/Zend-Nested-Set(即使有单元测试)。

      【讨论】:

        【解决方案3】:

        看教义的nested behavior

        【讨论】:

          【解决方案4】:

          看看这个库https://github.com/fpietka/Zend-Nested-Set实现与 Zend 框架一起使用的嵌套集模型

          【讨论】:

          • 找不到任何文档,单元测试尚未编写。上次更新是 2 年前。这个项目被放弃了吗?
          【解决方案5】:

          周围有一些新东西: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

          【讨论】:

            【解决方案6】:

            如果您使用分层数据,嵌套良好的集合非常有用。仅使用 php 数组来实现它要复杂得多,尤其是如果您想将这些信息保存在数据库中。

            你可以试试这个。从未使用过,但经过简短的代码筛选后,它看起来几乎完成了。

            http://www.edutech.ch/contribution/nstrees/index.php

            【讨论】:

            • 这个库不再被支持了,看来“市场”上有新东西。看我的回答。
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-12-14
            相关资源
            最近更新 更多