php无限分类树扩展组件

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数据结构生成的视图

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理