As rotas do Luna pode ser definida pelo URI no diretório /routes de forma bastante simples:
Copy use \ App \ Controllers \ Pages ;
$ router -> get ( ' / ' , [
function ($ request , $ response ) {
return Pages \ Example :: getPage ($ request , $ response );
}
]); MĆ©todos de roteador disponĆveis:
Copy $ router -> get ($ uri , [$ callback ]);
$ router -> post ($ uri , [$ callback ]);
$ router -> put ($ uri , [$ callback ]);
$ router -> patch ($ uri , [$ callback ]);
$ router -> delete ($ uri , [$ callback ]);
$ router -> options ($ uri , [$ callback ]); TambĆ©m Ć© possĆvel definir mĆŗltiplos mĆ©todos para um mesmo URI e callback:
Copy $ router -> match ([ ' get ' , ' post ' ], $ uri , [$ callback ]);
$ router -> any ($ uri , [$ callback ]); Parâmetros de rota
As rotas podem receber parâmetros personalizados para definição de url amigÔveis:
Os parâmetros opcionais podem ser obtidos através da $request:
Ć recomendado que utilize o mĆ©todo acima para obter os parĆ¢metros enviados pela rota, porĆ©m ainda Ć© possĆvel obtĆŖ-los com uma variĆ”vel explicita:
Parâmetros opcionais
Pode ser necessÔrio especificar um parâmetro de rota que nem sempre esteja presente na requisição. Para fazer isso basta adicionar um ? após o nome do parâmetro.
Alguns erros comuns podem ser tratados diretamente na definição da rota para personalizar a pÔgina de retorno:
TambĆ©m Ć© possĆvel definir uma rota padrĆ£o para que seja apresentada em caso de erro:
Rotas sem controllers
Embora nĆ£o recomendĆ”vel ainda Ć© possĆvel criar rotas que retornam diretamente sem um controller especificado:
Redirecionamento
Para realizar um redirecionamento execute a função redirect() presente no objeto da rota: