البحث عن أفضل فئة مجموعات متداخلة PHP (تم استبعاد فئة PEAR)
-
07-07-2019 - |
سؤال
أنا أبحث عن فئة مجموعات متداخلة PHP (مع MYSQL) تحتوي على جميع الوظائف المطلوبة.على سبيل المثال:
createLeftNode، createRightNode،createRootNode، createSubNode،deleteNode و com.moveTree.ليس فقط 1 يسار، 1 يمين، 1 لأعلى و1 لأسفل ولكن أيضًا جزء من شجرة في شجرة أخرى.
شكرًا!
المحلول
تعتبر المجموعات المتداخلة جيدًا رائعة إذا كنت تعمل مع بيانات هرمية.يعد تنفيذ ذلك باستخدام صفائف php أكثر تعقيدًا، خاصةً إذا كنت تريد حفظ هذه المعلومات في قاعدة بيانات.
يمكنك تجربة هذا.لم تستخدمه أبدًا ولكن بعد فحص الكود القصير يبدو مكتملًا تقريبًا.
نصائح أخرى
انظر الى السلوك المتداخل من العقيدة
هناك شيء جديد حول: http://www.sideralis.org/baobab/
إجابة قديمة وعفا عليها الزمن.المكتبة غير مدعومة بعد الآن.
لقد استخدمت مكتبة نستري تم نشر "bugzzy" (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
.