Поиск наилучшего класса вложенных наборов PHP (исключен класс PEAR)

StackOverflow https://stackoverflow.com/questions/272010

Вопрос

Я ищу класс вложенных наборов PHP (с MYSQL) со всеми необходимыми функциями.Например:

createLeftNode, createRightNode,createRootNode, createSubNode, deleteNode и Движущееся дерево.Не только 1 влево, 1 вправо, 1 вверх и 1 вниз, но и часть дерева в другом дереве.

Спасибо!

Это было полезно?

Решение

Хорошо вложенные наборы отлично подходят, если вы работаете с иерархическими данными.Гораздо сложнее реализовать это только с помощью php-массивов, особенно если вы хотите сохранить эту информацию в базе данных.

ты могла бы примерить это.Никогда не использовал его, но после короткого просмотра кода он выглядит почти завершенным.

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

Другие советы

посмотрите на вложенное поведение из Доктрины

Вокруг есть что-то новое: http://www.sideralis.org/baobab/


Старый и устаревший ответ.Библиотека больше не поддерживается.

Я использовал библиотека nstrees "баггззи" опубликовал (http://www.edutech.ch/contribution/nstrees/index.php) для проекта, где я должен был предоставить пользователю возможность создавать и редактировать организационную схему своей компании.

Мне нравится "Измененный Обход дерева предварительного заказа"алгоритм очень хорош, но мне кажется, что библиотека nstree работает медленно.В моем случае я должен рекурсивно выполнить итерацию вниз по дереву.Возможно, это что-то еще в моем скрипте, которое работает медленно.

В любом случае, я также все еще ищу альтернативу, и недавно я проверил веб-сайт PEAR и нашел там древовидную библиотеку: http://pear.php.net/package/Tree

Библиотека PEAR не показалась мне такой всеобъемлющей, как NSTREE, но я предполагаю, что она могла бы быть более производительной.

Статья, которая мне очень помогла с этим вопросом: Хранение иерархических данных в базе данных

Посмотрите на эту библиотеку https://github.com/fpietka/Zend-Nested-Set : Реализация модели вложенного набора для использования с Zend Framework

Это было давно запоздало, но я обновил https://github.com/fpietka/Zend-Nested-Set (даже с модульными тестами).

Я написал реализацию вложенного набора, которая использует Doctrine DBAL в качестве уровня абстракции базы данных.Поскольку мы используем его с Drupal, он также отслеживает revision_id.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top