2017 © Pedro Peláez
 

library tree-parser

Parse tree structure

image

baopham/tree-parser

Parse tree structure

  • Monday, July 4, 2016
  • by baopham
  • Repository
  • 1 Watchers
  • 1 Stars
  • 1,324 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 2 % Grown

The README.md

tree-parser

Latest Stable Version ![Software License][ico-license] Build Status Code Coverage Scrutinizer Code Quality, (*1)

Parse this:, (*2)

   Root
     |- Level 1.1
       |- Level 2.1
     |- Level 1.2
       |- Level 2.2
         |- Level 3
           |- Level 4

to this:, (*3)

foreach ($root->children as $child) {
    print $child->name;

    print $child->order;

    print $child->level;

    print_r($child->children);

    print_r($child->children[0]->children);

    print $child->children[0]->parent === $child;
}

Table of Content

Install

Via Composer, (*4)

``` bash $ composer require baopham/tree-parser, (*5)


## Usage ``` php // A tree with 2 spaces for indentation $tree = <<<TREE Root |- Level 1 - Order 1 |- Level 2 - Order 2 |- Level 3 - Order 3 |- Level 3 - Order 4 |- Level 2 - Order 5 |- Level 1 - Order 6 |- Level 2 - Order 7 |- Level 3 - Order 8 |- Level 4 - Order 9 TREE; $parser = new BaoPham\TreeParser($tree); $parser->setIndentation(2); // number of spaces for an indentation, 2 is the default. $root = $parser->parse(); foreach ($root->children as $child) { print $child->name; print $child->order; print $child->level; print_r($child->children); print_r($child->children[0]->children); print $child->children[0]->parent === $child; }

Advanced

$tree = <<<TREE
  Root
    |- Level 1 - Order 1
      |- Level 2 - Order 2
        |- Level 3 - Order 3
        |- Level 3 - Order 4
      |- Level 2 - Order 5
    |- Level 1 - Order 6
      |- Level 2 - Order 7
        |- Level 3 - Order 8
          |- Level 4 - Order 9
TREE;

$parser = new BaoPham\TreeParser($tree);

$parser->parse();

$structure = $parser->getStructure();

// Get nodes at level 3
$level3Nodes = $structure[3];
// Get node at level 3, order 4
$node = $structure[3][4];

// Get last leaf
$orderedNodes = $parser->getOrderedNodes();
$lastLeaf = $orderedNodes[count($orderedNodes) - 1];

Change log

Please see CHANGELOG for more information what has changed recently., (*6)

Testing

bash $ composer test, (*7)

Contributing

Please see CONTRIBUTING and CONDUCT for details., (*8)

Credits

License

The MIT License (MIT). Please see License File for more information., (*9)

The Versions

04/07 2016

dev-master

9999999-dev https://github.com/baopham/tree-parser

Parse tree structure

  Sources   Download

MIT

The Requires

  • php ~5.5|~7.0

 

The Development Requires

baopham tree-parser

03/07 2016

1.0.0

1.0.0.0 https://github.com/baopham/tree-parser

Parse tree structure

  Sources   Download

MIT

The Requires

  • php ~5.5|~7.0

 

The Development Requires

baopham tree-parser