Roteamento dinâmico

Diferente do roteamento básico que é fixo, o dinâmico irá variar de acordo com o que for solicitado nas requisições http(s).

 

php
$validateRoutes->getRoutes($view, $notFound, $gets);

O método getRoutes poderá receber até três atributos, $view que se refere a página desejada, $notfound que apresentará a página 404 quando a $view não for localizada e $gets que por padrão é nulo, é através da variável $gets que poderá ser passado os atributos do método $_GET para a página de destino.  

 

Segue modelos de criação de roteamentos dinâmicos:

php
$router->get('/{view}', function ($view) { 
global $validateRoutes;
$validateRoutes->getRoutes('/subdiretorio/'.$view,'/notFound');
});

Obs.: Acima temos um modelo de roteamento get/post dinâmico, onde /{view} irá captar a página desejada, sendo a variável $view enviada para ser tratada pelo método getRoutes, retornando a página desejada. O subdiretório funciona caso deseje organizar os arquivos em subpastas na pasta View da aplicação, caso não esteja em subpastas basta não adicionar essa informação.

 

php
$router->get('/{view}/{get1}/{get2}', function ($view,$get1,$get2) { 
global $validateRoutes;
$gets = ["example_1" => $get1, "example_2" => $get2];
$validateRoutes->getRoutes('/subdiretorio/'.$view,'/notFound',$gets);
});

Obs.: Nesse modelo é repassado os atributos gets através da url (/get1/get2), a função irá capturar os $_GETs e repassar para a página desejada através da variável array $gets como terceiro atributo do método getRoutes. No arquivo destino será consultado os gets através da variável $gets[exemplo]. No método post as variáveis serão capturadas da forma padrão do PHP, $_POST['exemplo'].