Hacker Gaucho

Roteador simples em PHP

01.Sep.2021


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.