codrasil / tree
PHP Library to generate a hierarchical tree list from array.
Installs: 839
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/codrasil/tree
Requires
- php: >=7.1
Requires (Dev)
- phpunit/phpunit: 6.*
This package is auto-updated.
Last update: 2025-10-22 00:06:07 UTC
README
PHP Library to generate a hierarchical tree list from array. Ideal for creating menus, sidebars, and any nested resources.
Requirements
- php: >=7.1
Installation
$ composer require codrasil/tree
{
    "require": {
        "codrasil/tree": "^1.*"
    }
}
Usage
use Codrasil\Tree\Tree; $menus = [ ['id' => 'menu:user', 'text' => 'Users', 'order' => 2, 'children' => [ ... ]], ['id' => 'menu:blog', 'text' => 'Blogs', 'order' => 1], ['id' => 'submenu:blog:category', 'parent' => 'menu:blog', 'text' => 'Blog Categories', 'order' => 1], ]; $options = [ 'key' => 'id', 'parent' => 'parent', 'children' => 'children', ]; $tree = new Tree($menus, $options); $tree->build(); print_r($tree->get()); /* output: Array ( [menu:blog] => Codrasil\Tree\Branch Object ( [key:protected] => menu:blog [parent:protected] => root [node:protected] => Array ( [name] => menu:blog [parent] => root [order] => 1 [children] => Array ( [submenu:blog:category] => Codrasil\Tree\Branch Object ( ... ) ) [left] => 2 [right] => 3 ) ) [menu:user] => Codrasil\Tree\Branch Object ( ... ) */
You may also run the demo inside the tests folder via cloning this repository, then starting a php server on the tests/ folder.
cd /path/to/codrasil/tree
php -S localhost:8080 -t tests/
Documentation
coming soon
License
The Codrasil/Tree PHP library is open-source software licensed under the MIT license.
