<?php /** * toc * * @license http://opensource.org/licenses/MIT * @link https://github.com/igorvbelousov/toc * @version 1.0 * @package igorvbelousov/toc * @author Casey McLaughlin <caseyamcl@gmail.com> * @author Igor V Belousov <igor@belousovv.ru> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. * * ------------------------------------------------------------------ */ namespace TOC\Util; use Knp\Menu\ItemInterface; class TOCTestUtils { /** * Get a flattened array containing references to all of the items * * @param ItemInterface $item The menu item * @param bool $isTop Is the initial menu item starting at the top-level? * @return array */ public static function flattenMenuItems(ItemInterface $item, $isTop = true) { $arr = $isTop ? [] : [$item]; foreach ($item->getChildren() as $child) { $arr = array_merge($arr, self::flattenMenuItems($child, false)); } return $arr; } }