1*04fd306cSNickeau<?php 2*04fd306cSNickeau 3*04fd306cSNickeaunamespace ComboStrap; 4*04fd306cSNickeau 5*04fd306cSNickeau 6*04fd306cSNickeauclass TreeVisit 7*04fd306cSNickeau{ 8*04fd306cSNickeau 9*04fd306cSNickeau public static function visit(TreeNode $tree, Callable $function, int $level = 0) 10*04fd306cSNickeau { 11*04fd306cSNickeau call_user_func($function, $tree, $level); 12*04fd306cSNickeau if ($tree->hasChildren()) { 13*04fd306cSNickeau $childLevel = $level + 1; 14*04fd306cSNickeau foreach ($tree->getChildren() as $child) { 15*04fd306cSNickeau self::visit($child, $function, $childLevel); 16*04fd306cSNickeau } 17*04fd306cSNickeau } 18*04fd306cSNickeau 19*04fd306cSNickeau } 20*04fd306cSNickeau 21*04fd306cSNickeau} 22