PHP Class CateTreeModel, thinksns

Author: jason ([email protected])
Show file Open project: medz/thinksns-4 Class Usage Examples

Public Properties

Property Type Description
$cacheKey 树的HASH表

Public Methods

Method Description
__construct ( string $table = '' ) 初始化无限极树形模型对象
cleanCache ( ) : boolean 清除树形结构的缓存,不允许删除单个子树,由于一棵树是缓存在一个缓存里面
getAllHash ( ) : arrat 获取所有分类的以主键为Key的Hash数组
getChildHash ( integer $id ) : array 获取指定分类ID下的所有子集ID
getTree ( integer $rootId = '0' ) : array 获取一个树形结构数据
moveTree ( integer $id, integer $newPid, integer $newSort = '255', array $data = [] ) : boolean 移动一个树形节点,即更改一个节点的父节点,移动规则:父节点不能移动到自己的子树下面
moveTreeByArr ( array $ids, array $newPids, array $newSorts = [] ) : boolean 批量移动树的节点,移动规则:父节点不能移动到自己的子树下面 ids,newPids的Key值必须对应
setCacheKey ( string $key ) : object 设置树形数据缓存Key
setField ( array $field = [] ) : object 设置字段值

Private Methods

Method Description
_getChildHash ( array $data ) 递归方法获取树形结构下的所有子集ID
_getTreeData ( ) : array 获取树形数据,从数据库中取出
createTree ( ) 双数组生成整棵树,缓存操作

Method Details

__construct() public method

初始化无限极树形模型对象
public __construct ( string $table = '' )
$table string 资源表名

cleanCache() public method

清除树形结构的缓存,不允许删除单个子树,由于一棵树是缓存在一个缓存里面
public cleanCache ( ) : boolean
return boolean 是否清除成功

getAllHash() public method

获取所有分类的以主键为Key的Hash数组
public getAllHash ( ) : arrat
return arrat 分类的Hash数组

getChildHash() public method

获取指定分类ID下的所有子集ID
public getChildHash ( integer $id ) : array
$id integer 分类ID
return array 指定分类ID下的所有子集ID

getTree() public method

获取一个树形结构数据
public getTree ( integer $rootId = '0' ) : array
$rootId integer 根目录ID
return array 树形结构

moveTree() public method

移动一个树形节点,即更改一个节点的父节点,移动规则:父节点不能移动到自己的子树下面
public moveTree ( integer $id, integer $newPid, integer $newSort = '255', array $data = [] ) : boolean
$id integer 节点ID
$newPid integer 新的父节点ID
$newSort integer 新的排序值
$data array 表示其他需要保存的字段,由实现此model的类完成
return boolean 是否移动成功

moveTreeByArr() public method

批量移动树的节点,移动规则:父节点不能移动到自己的子树下面 ids,newPids的Key值必须对应
public moveTreeByArr ( array $ids, array $newPids, array $newSorts = [] ) : boolean
$ids array 节点ID数组
$newPids array 新的父节点ID数组
$newSorts array 新的排序值数组
return boolean 是否移动成功

setCacheKey() public method

设置树形数据缓存Key
public setCacheKey ( string $key ) : object
$key string 用户自定义Key值
return object 无限树形模型对象

setField() public method

设置字段值
public setField ( array $field = [] ) : object
$field array 用户自定义字段值
return object 无限树形模型对象

Property Details

$cacheKey public property

树的HASH表
public $cacheKey