2008-11-07 13 views
6

के लिए खोज रहे हैं मैं सभी आवश्यक कार्यों के साथ एक PHP (MYSQL) नेस्टेड सेट क्लास की तलाश में हूं। उदाहरण के लिए:सर्वश्रेष्ठ PHP नेस्टेड सेट क्लास (पीईएआर क्लास को छोड़कर)

createLeftNode, createRightNode, createRootNode, createSubNode, deleteNode और moveTree। न केवल 1 बाएं, 1 दाएं, 1 ऊपर और 1 नीचे बल्कि एक पेड़ के पेड़ में एक पेड़ का एक हिस्सा भी।

धन्यवाद!

+0

क्यों पियर को बाहर रखा? – ftrotter

उत्तर

4

यदि आप पदानुक्रमित डेटा के साथ काम कर रहे हैं तो अच्छी तरह से नेस्टेड सेट बहुत अच्छे हैं। इसे केवल php arrays के साथ लागू करने के लिए और अधिक जटिल है, खासकर यदि आप इन जानकारी को किसी डेटाबेस में सहेजना चाहते हैं।

आप इसे आजमा सकते हैं। इसका कभी भी उपयोग नहीं किया गया लेकिन एक संक्षिप्त कोड स्क्रीनिंग के बाद यह लगभग पूरा दिखता है। http://www.sideralis.org/baobab/


पुराने और पुरानी पड़ चुकी जवाब: सिद्धांत

+0

यह लाइब्रेरी अब समर्थित नहीं है, ऐसा लगता है कि 'बाजार' पर नई चीजें हैं। मेरा जवाब देखें – markus

7

देखो चारों ओर कुछ नया नहीं है। लाइब्रेरी अब समर्थित नहीं है।

मैं nstrees इस्तेमाल किया पुस्तकालय "buggzzy" एक परियोजना जहाँ मैं उपयोगकर्ता बना सकते हैं और उनकी कंपनी के संगठनात्मक चार्ट को संपादित करने की संभावना देने के लिए किया था के लिए पोस्ट (http://www.edutech.ch/contribution/nstrees/index.php)।

मुझे "संशोधित प्रीऑर्डर ट्री ट्रैवर्सल" एल्गोरिदम बहुत पसंद है लेकिन ऐसा लगता है कि nstree लाइब्रेरी धीमी है। मेरे मामले में मुझे पेड़ के नीचे पुनरावर्ती पुनरावृत्ति करना है। शायद यह मेरी लिपि में कुछ और है जो धीमा है।

फिर भी मैं भी अभी भी एक विकल्प के लिए देख रहा हूँ और मैं हाल ही में नाशपाती वेबसाइट की जाँच की और वहाँ भी एक पेड़ पुस्तकालय पाया: http://pear.php.net/package/Tree

नाशपाती पुस्तकालय NSTREE के रूप में के रूप में व्यापक नहीं मालूम था लेकिन मुझे लगता है यह हो सकता अधिक प्रदर्शनकारी बनें।

एक लेख जो मुझे इस प्रश्न के साथ एक बहुत मदद की: Storing Hierarchical Data in a Database इस पुस्तकालय https://github.com/fpietka/Zend-Nested-Set पर

1

देखो: एक नेस्टेड सेट मॉडल का कार्यान्वयन Zend फ्रेमवर्क के साथ उपयोग करने के लिए

+1

कोई दस्तावेज़ नहीं ढूंढ सकता है और यूनिट परीक्षण अभी तक लिखे गए नहीं हैं। अंतिम 2 साल पहले अपडेट किया गया। क्या इस परियोजना को त्याग दिया गया है? – Znarkus

0

मैंने एक नेस्टेड सेट कार्यान्वयन लिखा है जो डेटाबेस एबस्ट्रक्शन परत के रूप में सिद्धांत डीबीएएल का उपयोग करता है। चूंकि हम इसे ड्रूपल के साथ उपयोग कर रहे हैं, यह revision_id ट्रैक करता है।

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

संबंधित मुद्दे