Searching for the best PHP nested sets class (PEAR class excluded)

断了今生、忘了曾经 提交于 2019-12-17 18:30:33

问题


I'm looking for a PHP (with MYSQL) nested sets class with all needed functions. For example:

createLeftNode, createRightNode,createRootNode, createSubNode,deleteNode and moveTree. Not only 1 left, 1 right, 1 up and 1 down but also a part of a tree in a nother tree.

Thanks!


回答1:


Well nested sets are great if you are working with hierarchical data. It's much more complex to implement it only with php arrays especially if you want to save these information in a database.

you could try this on. Never used it but after a short code screening it looks almost complete.

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




回答2:


look at the nested behavior of Doctrine




回答3:


There is something new around: http://www.sideralis.org/baobab/


Old and outdated answer. The library is not supported anymore.

I used the nstrees library "buggzzy" posted (http://www.edutech.ch/contribution/nstrees/index.php) for a project where I had to give the user the possibility to create and edit the organisational chart of his company.

I like the "Modified Preorder Tree Traversal" algorithm very much but it seems to me that the nstree library is slow. In my case I have to iterate recursively down the tree. Maybe it's something else in my script which is slow.

Anyways I'm also still looking for an alternative and I recently checked the PEAR website and found a tree library there too: http://pear.php.net/package/Tree

The PEAR library didn't seem as comprehensive as NSTREE but I assume it could be more performant.

An article which helped me a lot with this question: Storing Hierarchical Data in a Database




回答4:


Look at this library https://github.com/fpietka/Zend-Nested-Set : Implementation of a nested set model to use with Zend Framework




回答5:


It was long overdue, but I updated https://github.com/fpietka/Zend-Nested-Set (even with unit tests).




回答6:


I wrote a nested set implementation that uses Doctrine DBAL as the database abstraction layer. Because we're using it with Drupal, it also tracks a revision_id.

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



来源:https://stackoverflow.com/questions/272010/searching-for-the-best-php-nested-sets-class-pear-class-excluded

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!