O "Router60" https://github.com/arquivomorto/router60 é um roteador simples com apenas 60 linhas de código "PHP".
A ideia é reduzir as rotas de entrada aplicando os princípios "DRY" e "KISS" e os padrões da abstração "REST", assim os métodos "HTTP" e os segmentos da "URL" podem ser processados no "controller".
O roteador tem apenas 2 funções públicas e 2 propriedades:
- funções "$router" e "$segment"
- propriedades "$domain" e "$request_method"
A função "$router($rotas, $domain)" recebe um "array" com as rotas, "controllers" e "views" no primeiro parâmetro e o URL padrão do site no segundo parâmetro.
A função "$segment($segment_id, $domain)" recebe o número do segmento relativo ("path") da "URL" calculado a partir da "URL" raiz do site, por exemplo:
"$segment(1, "site.com/path1")" na requisição "site.com/path1" retorna "/"
"$segment(1, "site.com")" na requisição "site.com/path1" retorna "path1"
As propriedades "$domain" e "$request_method" são autoexplicativas.