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數據結構生成的視圖

圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章