pclib  3.3.0
Lightweight PHP framework
Tree Class Reference

Display tree structure. More...

Inheritance diagram for Tree:
BaseObject

Public Member Functions

 __construct ($path='')
 Create Tree instance. More...
 
 importText ($s)
 Import Tree from text string. More...
 
 exportText ($format="PATH|ROUTE")
 Export current Tree to text string. More...
 
 fromArray ($nodes)
 Import Tree from array of $nodes. More...
 
 toArray ()
 Export Tree as array of $nodes. More...
 
 get ($nodeId)
 Get Tree node. More...
 
 set ($nodeId, $data)
 Set Tree node values. More...
 
 add ($nodeId, $data, $options=['before'=> false, 'child'=> false])
 Add Tree node. More...
 
 find ($key, $value)
 Find Tree node by node parameter. More...
 
 map (callable $fn)
 Call $fn for each node. More...
 
 fromQuery ($sql, $topId=0)
 Load tree from database query. More...
 
 load ($treeId, $topId=0, $maxLevel=0)
 Load tree from table tree_lookups. More...
 
 save ($treeId)
 Save current tree to table tree_lookups. More...
 
 expand (... $args)
 Expand path(s) in current tree. More...
 
 expandLevel ($level)
 Expand tree to level $level.
 
 html ()
 Return html output of the current tree.
 
- Public Member Functions inherited from BaseObject
 loadDefaults ($className=null)
 Load default parameters of class $className into object instance.
 
 setProperties (array $defaults)
 Set public properties of object from the array. More...
 

Data Fields

 $db
 var Db Link to database object.
 
 $table = 'TREE_LOOKUPS'
 Database table for storing tree data.
 
 $tpl
 var Tpl Tree template.
 
 $auth = null
 If set, it will check user rights against RKEY column.
 
- Data Fields inherited from BaseObject
 $serviceLocator
 var function() Return service object when requested with service().
 

Protected Member Functions

 addNode ($data)
 Called everytime when adding node to the tree.
 
 expandPath ($nodeKey)
 Expand (open) current tree to node $nodeKey. More...
 
- Protected Member Functions inherited from BaseObject
 service ($service, $default=null)
 Try acquire $service and load it into property $this->$service. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from BaseObject
static defaults (... $args)
 Set or retireve default parameters of the object. More...
 

Detailed Description

Display tree structure.

Default template will show tree as unordered list (UL). Features:

  • Load/save tree from/to database table TREE_LOOKUPS
  • Import/export tree from/to text file
  • Build tree from database query (using parent_id)

Constructor & Destructor Documentation

◆ __construct()

__construct (   $path = '')

Create Tree instance.

Parameters
string$pathFilename of template file. By default it uses default-tree.tpl.

Member Function Documentation

◆ add()

add (   $nodeId,
  $data,
  $options = ['before' =,
false  ,
'child'  ,
false]   
)

Add Tree node.

Parameters
int$nodeIdAdd new node after/before this node
array$dataData of node to be added.

◆ expand()

expand (   $args)

Expand path(s) in current tree.

Parameters
int|arrayId of nodes, which should be expanded (opened) Ex: $tree->expand(1,4,20) Expand tree to nodes 1,4,20

◆ expandPath()

expandPath (   $nodeKey)
protected

Expand (open) current tree to node $nodeKey.

Parameters
int$nodeKeyKey in Tree::nodes array
See also
expand()

◆ exportText()

exportText (   $format = "PATH|ROUTE")

Export current Tree to text string.

Parameters
string$formatExported cells - list of cell names, separated by "|"
Returns
string $s Tree as text.

◆ find()

find (   $key,
  $value 
)

Find Tree node by node parameter.

Parameters
string$keyNode key
string$valueValue of node key
Returns
array $node

◆ fromArray()

fromArray (   $nodes)

Import Tree from array of $nodes.

Parameters
array$nodes[['ID'=>'','LABEL'=>'','LEVEL'=>'',...],...]

◆ fromQuery()

fromQuery (   $sql,
  $topId = 0 
)

Load tree from database query.

Expected fields: ID, LABEL, PARENT_ID.

Parameters
string$sqlDatabase query
int$topId

◆ get()

get (   $nodeId)

Get Tree node.

Parameters
int$nodeId
Returns
array $node

◆ importText()

importText (   $s)

Import Tree from text string.

Parameters
string$sSource string. See https://pclib.brambor.net/demo/?r=source/tree.txt

◆ load()

load (   $treeId,
  $topId = 0,
  $maxLevel = 0 
)

Load tree from table tree_lookups.

Parameters
int$treeId

◆ map()

map ( callable  $fn)

Call $fn for each node.

Parameters
callable$fn,(array$node) : array Callback function. It takes Tree $node and must return this $node.

◆ save()

save (   $treeId)

Save current tree to table tree_lookups.

Parameters
int$treeId

◆ set()

set (   $nodeId,
  $data 
)

Set Tree node values.

Parameters
int$nodeId
array$dataData of node to be set.

◆ toArray()

toArray ( )

Export Tree as array of $nodes.

Returns
array $nodes

Reimplemented from BaseObject.


The documentation for this class was generated from the following file: