6

必要なすべての関数を備えた PHP (MYSQL を使用) のネストされたセット クラスを探しています。例えば:

createLeftNode、createRightNode、createRootNode、createSubNode、deleteNode、およびmoveTree。左に 1 つ、右に 1 つ、上に 1 つ、下に 1 つだけでなく、別の木の中の木の一部。

ありがとう!

4

6 に答える 6

7

look at the nested behavior of Doctrine

于 2008-11-07T14:27:34.793 に答える
4

階層データを扱う場合は、適切にネストされたセットが最適です。特にこれらの情報をデータベースに保存したい場合は、php 配列のみを使用して実装するのははるかに複雑です。

あなたはこれを試すことができます。使用したことはありませんが、短いコードのスクリーニングの後、ほぼ完全に見えます。

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

于 2008-11-07T13:48:21.860 に答える
2

何か新しいものがあります: http://www.sideralis.org/baobab/


古くて時代遅れの答え。ライブラリはサポートされなくなりました。

私は、ユーザーが会社の組織図を作成および編集できるようにする必要があるプロジェクトのために、投稿されたnstrees ライブラリ「buggzzy」( http://www.edutech.ch/contribution/nstrees/index.php ) を使用しました。 .

Modified Preorder Tree Traversal」アルゴリズムはとても気に入っていますが、nstree ライブラリは遅いように思えます。私の場合、ツリーを再帰的に反復する必要があります。多分それは私のスクリプトで遅い何かです。

とにかく、私はまだ代替手段を探しています。最近 PEAR の Web サイトをチェックしたところ、ツリー ライブラリも見つかりました: http://pear.php.net/package/Tree

PEAR ライブラリは NSTREE ほど包括的ではないように見えましたが、よりパフォーマンスが高い可能性があると思います。

この質問に大いに役立った記事:階層データをデータベースに保存する

于 2008-11-07T14:34:59.007 に答える
1

このライブラリを見てください https://github.com/fpietka/Zend-Nested-Set : Zend Framework で使用するネストされたセット モデルの実装

于 2012-01-23T20:34:08.907 に答える
0

かなり遅れていましたが、https://github.com/fpietka/Zend-Nested-Setを更新しました(単体テストも含めて)。

于 2014-08-29T14:57:36.317 に答える
0

Doctrine DBAL をデータベース抽象化レイヤーとして使用するネストされたセットの実装を作成しました。Drupal で使用しているため、revision_id.

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

于 2017-02-06T20:37:23.910 に答える