php无限分类树扩展组件

42次阅读

共计 1296 个字符,预计需要花费 4 分钟才能阅读完成。

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

正文完
 0