Quando decidi construir meu próprio CMS, a primeira grande decisão foi: como gerenciar as rotas sem cair na armadilha de adicionar uma dependência pesada só para isso?
O Problema do Roteamento Nativo
A maioria dos frameworks de roteamento resolve o problema corretamente, mas traz consigo um ecossistema inteiro de convenções, abstrações e arquivos de configuração que nem sempre se encaixam em um projeto proprietário.
A Solução: Dispatcher Simples e Direto
A ideia central é um array associativo de padrões URI mapeando para handlers. O PHP faz a comparação via regex e despacha para a função ou método adequado.
$routes = [
'GET' => [
'/' => 'HomeController@index',
'/posts/{id}' => 'PostController@show',
'/about' => 'AboutController@index',
],
'POST' => [
'/contact' => 'ContactController@send',
]
];
O grande ganho está na legibilidade: qualquer desenvolvedor que entra no projeto entende imediatamente o mapa de rotas sem precisar estudar a documentação de um framework externo.
Hierarquia de Páginas e Breadcrumbs
A parte mais interessante veio depois: como gerar breadcrumbs automaticamente a partir da hierarquia de URLs? Desenvolvi o método buildPageAncestors() que percorre recursivamente a árvore de páginas do banco de dados e monta o caminho de navegação de forma limpa.
O resultado é uma arquitetura enxuta, performática e 100% sob controle — sem surpresas escondidas em três camadas de abstração.
Seja o primeiro a comentar.