2008-11-07 7 views
6

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

createLeftNode, createRightNode, createRootNode, createSubNode, deleteNode и Movetree. Не только 1 левый, 1 правый, 1 вверх и 1 вниз, но также часть дерева в более ничтожном дереве.

Спасибо!

+0

Почему исключить PEAR? – ftrotter 2010-11-22 22:35:08

ответ

4

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

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

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

+0

Эта библиотека больше не поддерживается, кажется, что на рынке есть новые вещи. См. Мой ответ. – markus 2011-11-05 21:07:38

2

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


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

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

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

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

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

статья, которая мне очень помогла с этим вопросом: Storing Hierarchical Data in a Database

1

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

+1

Невозможно найти какие-либо документы и модульные тесты еще не написаны. Последнее обновление 2 года назад. Оставлен ли этот проект? – Znarkus 2012-05-07 13:01:01

0

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

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