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資料結構生成的檢視