PHP系统树图

github地址

dendrogram Laravel PHP
v1.0 5.* >=5.6.4

安装

composer require dendrogram/dendrogram:v1.0

配置

首先往Laravel应用中注册ServiceProvider,打开文件config/app.php,在providers中添加一项:

'providers' => [
    DenDroGram\DendrogramServiceProvider::class ]

然后发布拓展包的配置文件,使用如下命令:

php artisan vendor:publish

此时config目录下会生成dendrogram.php配置文件

图片描述

数据导入(两表三个自定义函数)

php artisan migrate
  • adjacency结构 以父节点为基准的链式查询 增删容易 查询不便

图片描述

  • nested结构 以左右值包容形式 增删不便 查询容易

图片描述

方法说明

调用 构造参数 方法说明 方法参数 返回 备注
(new DenDroGram(AdjacencyList::class))->buildTree($node_id,['name']) adjacency数据格式 adjacency格式数据生成目录式结构树 根节点id , 每个节点显示信息 返回html文本string 视图的相关在dendrogram.php中配置 如操作节点方法的路由
(new DenDroGram(AdjacencyList::class))->operateNode($action,$data) adjacency数据格式 adjacency格式数据的节点操作 action增删改标识 , data节点详情数据 返回boolean 注意视图与之对应的数据结构AdjacencyList::class
(new DenDroGram(AdjacencyList::class))->getTreeData($node_id); adjacency数据格式 adjacency数据构造成多维数组 根节点id 返回array 多维数组结构
(new DenDroGram(NestedSet::class))->buildTree($node_id,['name']) NestedSet数据格式 NestedSet格式数据生成根茎式结构树 根节点id , 每个节点显示信息 返回html文本string 视图的相关在dendrogram.php中配置 如操作节点方法的路由
(new DenDroGram(NestedSet::class))->operateNode($action,$data) NestedSet数据格式 NestedSet格式数据的节点操作 action增删改标识 , data节点详情数据 返回boolean 注意视图与之对应的数据结构NestedSet::class
(new DenDroGram(NestedSet::class))->getTreeData($node_id); NestedSet数据格式 NestedSet数据构造成多维数组 根节点id 返回array 多维数组结构

举个栗子

图片描述

  • adjacency数据结构生成的视图

图片描述

  • nested数据结构生成的视图

图片描述


ydtg1993
1 声望0 粉丝