PHP code example of matejlauko / tree
1. Go to this page and download the library: Download matejlauko/tree library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
matejlauko / tree example snippets
use Tree\Node\Node;
$node = new Node('foo');
$node->setValue('my value');
echo $node->getValue(); //Prints 'my value'
$child1 = new Node('child1');
$child2 = new Node('child2');
$node
->addChild($child1)
->addChild($child2);
$node->removeChild($child1);
$children = $node->getChildren();
$node->setChildren([new Node('foo'), new Node('bar')]);
$node->removeAllChildren();
$node->isLeaf();
$node->isChild();
$root->addChild($node = new Node('child'));
$node->getParent(); // Returns $root
$root = (new Node('root'))
->addChild($child = new Node('child'))
->addChild($grandChild = new Node('grandchild'))
;
$grandchild->getAncestors(); // Returns [$root, $child]
$root = $node->root();
$root = (new Node('root'))
->addChild($child1 = new Node('child1'))
->addChild($child2 = new Node('child2'))
->addChild($child3 = new Node('child3'))
;
$child2->getNeighbors(); // Returns [$child1, $child3]
$node->getDepth();
$node->getHeight();
$builder = new Tree\Builder\NodeBuilder;
$builder
->value('A')
->leaf('B')
->tree('C')
->tree('D')
->leaf('G')
->leaf('H')
->end()
->leaf('E')
->leaf('F')
->end()
;
$nodeA = $builder->getNode();
use Tree\Visitor\YieldVisitor;
$visitor = new YieldVisitor;
$yield = $node->accept($visitor);
// $yield will contain nodes B, G, H, E, F
$value
$value
$value