php無限分類樹

PHP系統樹圖

github地址php

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

安裝

composer require dendrogram/dendrogram:v1.0
 

配置

首先往Laravel應用中註冊ServiceProvider,打開文件config/app.php,在providers中添加一項:css

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

而後發佈拓展包的配置文件,使用以下命令:html

php artisan vendor:publish

此時config目錄下會生成dendrogram.php配置文件node

 

 

數據導入(兩表三個自定義函數)

php artisan migrate

adjacency結構 以父節點爲基準的鏈式查詢 增刪容易 查詢不便laravel

 

nested結構 以左右值包容形式 增刪不便 查詢容易git

 

方法說明

調用 構造參數 方法說明 方法參數 返回 備註
(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數據結構生成的視圖github

nested數據結構生成的視圖數組

 

 

相關文章
相關標籤/搜索