25 lines
487 B
PHP
25 lines
487 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Aether\Contract;
|
|
|
|
/**
|
|
* 树形结构接口,标识模型支持树形功能.
|
|
*/
|
|
interface TreeableInterface
|
|
{
|
|
/**
|
|
* 构建树形结构.
|
|
* @param array $items 原始数据
|
|
* @param int $parentId 根节点ID
|
|
*/
|
|
public static function buildTree(array $items, int $parentId = 0): array;
|
|
|
|
/**
|
|
* 获取子节点ID集合.
|
|
* @param int $id 节点ID
|
|
*/
|
|
public function getChildIds(int $id): array;
|
|
}
|