PHP系统树图
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数据结构生成的视图
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。