public function menuNodeHierarchy($depth = 10)
    {
        if ($depth == 0) {
            return $this;
        }

        return $this
            ->prototype('array')
                ->children()
                    ->scalarNode('route')->end()
                    ->arrayNode('routeParameters')
                        ->prototype('variable')
                        ->end()
                    ->end()
                    ->scalarNode('uri')->end()
                    ->scalarNode('label')->end()
                    ->booleanNode('display')->defaultTrue()->end()
                    ->booleanNode('displayChildren')->defaultTrue()->end()
                    ->integerNode('order')->end()
                    ->arrayNode('attributes')
                        ->prototype('variable')
                        ->end()
                    ->end()
                    ->arrayNode('linkAttributes')
                        ->prototype('variable')
                        ->end()
                    ->end()
                    ->arrayNode('childrenAttributes')
                        ->prototype('variable')
                        ->end()
                    ->end()
                    ->arrayNode('labelAttributes')
                        ->prototype('variable')
                        ->end()
                    ->end()
                    ->arrayNode('roles')
                        ->prototype('scalar')
                        ->end()
                    ->end()
                    ->arrayNode('extras')
                        ->prototype('scalar')
                        ->end()
                    ->end()
                    ->menuNode('children')->menuNodeHierarchy($depth - 1)
                ->end()
            ->end();
    }
public function menuNodeHierarchy($depth = 10)
    {
        if ($depth == 0) {
            return $this;
        }

        return $this
            ->prototype('array')
                ->children()
                    ->scalarNode('route')->end()
                    ->arrayNode('routeParameters')
                        ->prototype('variable')
                        ->end()
                    ->end()
                    ->scalarNode('uri')->end()
                    ->scalarNode('label')->end()
                    ->booleanNode('display')->defaultTrue()->end()
                    ->booleanNode('displayChildren')->defaultTrue()->end()
                    ->integerNode('order')->end()
                    ->arrayNode('attributes')
                        ->prototype('variable')
                        ->end()
                    ->end()
                    ->arrayNode('linkAttributes')
                        ->prototype('variable')
                        ->end()
                    ->end()
                    ->arrayNode('childrenAttributes')
                        ->prototype('variable')
                        ->end()
                    ->end()
                    ->arrayNode('labelAttributes')
                        ->prototype('variable')
                        ->end()
                    ->end()
                    ->arrayNode('roles')
                        ->prototype('scalar')
                        ->end()
                    ->end()
                    ->arrayNode('extras')
                        ->prototype('scalar')
                        ->end()
                    ->end()
                    ->menuNode('children')->menuNodeHierarchy($depth - 1)
                ->end()
            ->end();
    }
public function menuNodeHierarchy ( $ depth = 10 ) { if ( $ depth == 0 ) { return $ this ; } return $ this -> prototype ( 'array' ) -> children ( ) -> scalarNode ( 'route' ) -> end ( ) -> arrayNode ( 'routeParameters' ) -> prototype ( 'variable' ) -> end ( ) -> end ( ) -> scalarNode ( 'uri' ) -> end ( ) -> scalarNode ( 'label' ) -> end ( ) -> booleanNode ( 'display' ) -> defaultTrue ( ) -> end ( ) -> booleanNode ( 'displayChildren' ) -> defaultTrue ( ) -> end ( ) -> integerNode ( 'order' ) -> end ( ) -> arrayNode ( 'attributes' ) -> prototype ( 'variable' ) -> end ( ) -> end ( ) -> arrayNode ( 'linkAttributes' ) -> prototype ( 'variable' ) -> end ( ) -> end ( ) -> arrayNode ( 'childrenAttributes' ) -> prototype ( 'variable' ) -> end ( ) -> end ( ) -> arrayNode ( 'labelAttributes' ) -> prototype ( 'variable' ) -> end ( ) -> end ( ) -> arrayNode ( 'roles' ) -> prototype ( 'scalar' ) -> end ( ) -> end ( ) -> arrayNode ( 'extras' ) -> prototype ( 'scalar' ) -> end ( ) -> end ( ) -> menuNode ( 'children' ) -> menuNodeHierarchy ( $ depth - 1 ) -> end ( ) -> end ( ) ; }
Make menu hierarchy

@param  int $depth

@return MenuNodeDefinition
Make menu hierarchy