MPTT; Modified Preorder Tree Traversal PHP Code Implement.

Installs: 4

Dependents: 1

Suggesters: 0

Security: 0

Stars: 3

Watchers: 3

Forks: 0

Open Issues: 0

Type:yii2-extension

dev-master 2017-03-06 03:21 UTC

This package is not auto-updated.

Last update: 2024-04-13 23:30:59 UTC


README

GUI Manage MPTT (Modified Preorder Tree Traversal) for Yii2. 😄.

这是**<Joe Celko's Trees And Hierarchies In SQL For Smarties>*一书中第4章 Nested Set Model Of Hierarchis *的一个实现

Mptt Nested Mptt Tree

学名: 预排序遍历树算法(modified preorder tree traversal algorithm)

几乎每个应用都离不开"树"数据结构, Mptt的优点在于可以非常快速的查找嵌套层级关系, 而无惧层级的深度!

这是一个Yii2-Extension, 它不仅实现了MPTT算法还提供了:

  • 对Mptt树的完整管理: 增删改查 和 Mptt树视图
  • 提供了Mptt Widget类. 以方便你在别处使用!
  • 提供支持Yii RBAC的助手类, 将Mptt与权限结合. 例如你可以很方便的返回当前登录用户可访问的Mptt节点
  • 使用superlyons\idGenerator生成ID

你可以在Github上找到类似的实现, 但是它们仅仅实现了算法(通过Behavior), 没有提供完善的管理和应用功能, 要想将它们应用到你的项目中还需要做大量的工作. 而且算法有一些问题, 例如只更新当前节点实例(例如改变lft和rgt值)而不考虑其它已获得的节点实例, 你必须很小心的使用否则将导致错误! 而在本扩展中没有此类问题.

Installation

Install With Composer

安装这个扩展的首选方式是通过 composer.

php composer.phar require superlyons/mptt "dev-master"

或者, 你也可以添加下面的代码到你的composer.json文件中

"superlyons/mptt": "dev-master"

Install MpttTable

yii migrate --migrationPath=@superlyons/mptt/migrations