Buscando la mejor clase de conjuntos nesteds de PHP (clase PEAR excluida)

Estoy buscando una clase de conjuntos nesteds PHP (con MYSQL) con todas las funciones necesarias. Por ejemplo:

createLeftNode, createRightNode, createRootNode, createSubNode, deleteNode y moveTree . No solo 1 izquierda, 1 derecha, 1 arriba y 1 abajo, sino también una parte de un árbol en otro árbol.

¡Gracias!

Los conjuntos bien nesteds son excelentes si está trabajando con datos jerárquicos. Es mucho más complejo implementarlo solo con matrices php, especialmente si desea guardar esta información en una base de datos.

podrías intentar esto. Nunca lo usé, pero después de una breve detección de código parece casi completo.

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

mira el comportamiento nested de Doctrine

Hay algo nuevo alrededor: http://www.sideralis.org/baobab/


Respuesta antigua y obsoleta. La biblioteca ya no es compatible.

Usé la biblioteca nstrees “buggzzy” publicada ( http://www.edutech.ch/contribution/nstrees/index.php ) para un proyecto en el que tuve que darle al usuario la posibilidad de crear y editar el organigtwig de su empresa .

Me gusta mucho el algoritmo ” Modificado Preorden Tree Traversal “, pero me parece que la biblioteca nstree es lenta. En mi caso, tengo que iterar recursivamente por el árbol. Quizás es algo más en mi script que es lento.

De todos modos, también sigo buscando una alternativa y recientemente revisé el sitio web de PEAR y encontré una biblioteca de árbol allí: http://pear.php.net/package/Tree

La biblioteca PEAR no parecía tan completa como NSTREE, pero supongo que podría ser más eficiente.

Un artículo que me ayudó mucho con esta pregunta: Almacenar datos jerárquicos en una base de datos

Mire esta biblioteca https://github.com/fpietka/Zend-Nested-Set : Implementación de un modelo de conjunto nested para usar con Zend Framework

Hacía mucho tiempo, pero actualicé https://github.com/fpietka/Zend-Nested-Set (incluso con pruebas unitarias).

Escribí una implementación de conjunto nested que usa Doctrine DBAL como la capa de abstracción de la base de datos. Como lo estamos usando con Drupal, también rastrea un revision_id .

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