czproject/relnode-php

Maintainers

👁 janpecha

Package info

github.com/czproject/relnode-php

pkg:composer/czproject/relnode-php

Statistics

Installs: 40

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2013-07-10 18:28 UTC

Requires

None

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

BSD-3-Clause 4b65897625a9d6379bbe9e11f19c4f188e3329a2

  • Jan Pecha <janpecha.woop@email.cz>

This package is auto-updated.

Last update: 2026-06-14 11:11:24 UTC


README

Helper class.

<?php
$root = new Cz\RelNode;
$root->addChild('sub/sub1/sub2/sub3', 'sub value');
$root->addChild('sub/sub1/sub2/sub3/sub4', 'sub value 2');
$root->addChild('sub/sub1/sub5', 'sub value 3');

/**
Structure:

$root
└── sub
 └── sub1
 ├── sub2
 │ └── sub3 (sub value) [first filled, one of the nearest]
 │ └── sub4 (sub value 2)

 └── sub5 (sub value 3) [one of the nearest]
*/

$node = $root->getFirstFilled();
echo $node->value; // 'sub value'

$nodes = $root->getNearestChildren();

foreach($nodes as $node) {
 echo $node->value;

 // Prints:
 // 'sub value'
 // 'sub value 3'
}

$node = $root->getNearestOneFor('sub/sub1/sub2/sub3/my-sub'); // returns NULL or RelNode instance
echo $node->value; // 'sub value'
$node = $root->getNearestOneFor('sub/sub1/sub2/sub3/sub4'); // returns NULL or RelNode instance
echo $node->value; // 'sub value 2'

License: New BSD License
Author: Jan Pecha, https://www.janpecha.cz/