2017 © Pedro Peláez
 

library treeize

The ultimate tree library. For all your tree recursion needs.

image

odannyc/treeize

The ultimate tree library. For all your tree recursion needs.

  • Thursday, December 15, 2016
  • by odannyc
  • Repository
  • 1 Watchers
  • 1 Stars
  • 282 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 9 Versions
  • 2 % Grown

The README.md

Treeize

The ultimate tree library. For all your tree recursion needs., (*1)

Treeize::create($tree)->parse()->get();

Installation

You can install this library using composer, (*2)

composer require odannyc/treeize, (*3)

Usage

Given a simple array:, (*4)

$tree = [
  [
    "id" => 1,
    "parent_id" => 0
  ],
  [
    "id" => 2,
    "parent_id" => 1
  ],
  [
    "id" => 3,
    "parent_id" => 1
  ],
  [
    "id" => 4,
    "parent_id" => 2
  ],
  [
    "id" => 5,
    "parent_id" => 2
  ],[
    "id" => 6,
    "parent_id" => 0
  ],
  [
    "id" => 7,
    "parent_id" => 6
  ],
  [
    "id" => 8,
    "parent_id" => 6
  ]
]

You will be able to parse this tree and set it correctly recursively doing this:, (*5)

Treeize::create($tree)->parse()->get();

The output will be:, (*6)

[
  [
    "id" => 1,
    "parent_id" => 0,
    "children" => [
      [
        "id" => 2,
        "parent_id" => 1,
        "children" => [
          [
            "id" => 4,
            "parent_id" => 2
          ],
          [
            "id" => 5,
            "parent_id" => 2
          ]
        ]
      ],
      [
        "id" => 3,
        "parent_id" => 1
      ],
    ]
  ],
  [
    "id" => 6,
    "parent_id" => 0,
    "children" => [
      [
        "id" => 7,
        "parent_id" => 6
      ],
      [
        "id" => 8,
        "parent_id" => 6
      ]
    ]
  ]
]

If you'd like to change the "children" key to any other string you can do so by chaining off the create method before parsing. So:, (*7)

Treeize::create($tree)->childrenKey('nodes')->parse()->get();

There's other options to chain on that method, here's the whole list:, (*8)

Treeize::create($tree)
  ->parentKey('pid')
  ->indexKey('id')
  ->parentId(0)
  ->childrenKey('nodes')
  ->parse(function($item) {//do stuff to item})
  ->get();

parentKey - Sets the parent key name: Default is "parent_key", (*9)

indexKey - Sets the index key name: Default is "id", (*10)

parentId - Sets the initial parent ID to search for: This is figured out if non is provided, (*11)

childrenKey - Sets the children key name as described above., (*12)

parse - Accepts a callback function that you can apply to each item in the tree, an item is an array in this instance., (*13)

The Versions

15/12 2016

dev-master

9999999-dev

The ultimate tree library. For all your tree recursion needs.

  Sources   Download

Apache-2.0

by Danny Carrillo

15/12 2016

v1.2.2

1.2.2.0

The ultimate tree library. For all your tree recursion needs.

  Sources   Download

Apache-2.0

by Danny Carrillo

15/12 2016

v1.2.1

1.2.1.0

The ultimate tree library. For all your tree recursion needs.

  Sources   Download

Apache-2.0

by Danny Carrillo

15/12 2016

v1.2

1.2.0.0

The ultimate tree library. For all your tree recursion needs.

  Sources   Download

Apache-2.0

by Danny Carrillo

06/12 2016

v1.1.1

1.1.1.0

The ultimate tree library. For all your tree recursion needs.

  Sources   Download

Apache-2.0

by Danny Carrillo

06/12 2016

v1.1.0

1.1.0.0

The ultimate tree library. For all your tree recursion needs.

  Sources   Download

Apache-2.0

by Danny Carrillo

06/12 2016

v1.0.2

1.0.2.0

The ultimate tree library. For all your tree recursion needs.

  Sources   Download

Apache-2.0

by Danny Carrillo

05/12 2016

v1.0.1

1.0.1.0

The ultimate tree library. For all your tree recursion needs.

  Sources   Download

Apache-2.0

by Danny Carrillo

05/12 2016

v1.0

1.0.0.0

The ultimate tree library. For all your tree recursion needs.

  Sources   Download

Apache-2.0

by Danny Carrillo