package para converter array hierárquico em uma saída de texto incluindo caracteres ASCII

0

Eu tenho uma tabela de banco de dados que possui dados hierárquicos e estou desenvolvendo meu primeiro pacote de compositor. Estou bem na parte de recursão e já posso criar o array. Veja o BOTTOM deste post para a estrutura real do array. O que eu estou querendo fazer é a saída em formato de texto (para a linha de comando) algo como isto:

--- Home [/]
-+- Products [/products]
 |--- Men Fashion [/products/men-fashion]
 |--- Women Fashion [/products/women-fashion]
 +-+- Children Fashion [/products/children-fashion]
   |--- Infants [/etc..]
   +--- Toddlers [/etc..]
   +--- Adolescents [/etc..]

Desculpe o uso de + e | contra os personagens ascii, mas você tem a idéia.

Existe um pacote que alguém recomendaria para fazer essa conversão e eu poderia require como parte do meu pacote? Vs. reinventando a roda.

Em uma foto maior, qual é a melhor maneira de procurar pacotes por recursos e pacotes de crítica / compartilhamento? Obrigado, e de qualquer maneira aqui está a matriz que a saída acima representa:

[PHP]
$menu = [
    'name' => 'default menu',
    'children' => [
        [
            'name' => 'Home',
            'uri' => '/',
        ],
        [
            'name' => 'Products',
            /* no URL, just a placeholder */
            'children' => [
                [
                    'name' => 'Men Fashion',
                    'uri' => '/products/men-fashion',
                ],[
                    'name' => 'Women Fashon',
                    'uri' => '/products/women-fashion',
                ],[
                    'name' => 'Children Fashion',
                    'children' => [
                        [
                            'name' => 'Infants',
                            'uri' => '/products/children-fashion/infants'
                        ],[
                            'name' => 'Toddlers',
                            'url' => '/products/children-fashion/toddlers',
                        ],[
                            'name' => 'Adolescents',
                            'url' => '/products/children-fashion/adolescents'
                        ]
                    ]
                ]
            ],
        ]
    ]
];
    
por Oliver Williams 15.02.2018 / 18:21

0 respostas