Criação de Rotas em Linguagens de Programação
Publicação: 05/01/2019
O que são rotas e como podemos criá-las em uma linguagem de programação
Quando digitamos www.alfamidia.com.br/calendario, é retornada uma página HTML com o calendário de cursos da Alfamídia.
Para entendermos o que são rotas, nada melhor que primeiro compreendermos o que acontece quando digitamos este endereço em nosso navegador da Internet.
A primeira parte de nossa URL, www.alfamidia.com.br, define uma máquina única na internet que vai responder a requisição do navegador, retornando uma página HTML. Quem retorna esta página HTML é um software que executa nesta máquina chamado servidor Web, ou web server. Qual página vai ser retornada depende justamente da segunda parte da URL, no caso, calendario.
Para simplificar, vamos imaginar três possibilidades diferentes de como um servidor web interpreta a URL e retorna uma página HTML:
1. Página estática
A URL pode indicar diretamente um arquivo HTML no servidor. Por exemplo, poderíamos ter uma URL www.alfamidia.com.br/calendario/index.html. Neste caso o servidor retornaria o arquivo index.html da pasta calendario. Quando não temos um nome de arquivo, o servidor tenta encontrar um arquivo com um nome padrão, geralmente index.html.
Assim, se houver uma pasta calendario no diretorio raiz acessado pelo servidor web, e nesta pasta existir um arquivo index.html (ou outro nome dependendo da configuração do servidor) este arquivo será retornado.
2. Página dinâmica
A URL também pode indicar um arquivo em uma linguagem que é processada pelo servidor web. Por exemplo, na URL www.alfamidia.com.br/calendario/index.php, o servidor tentará encontrar este arquivo, que nada mais é que um programa PHP, executá-lo, e enviar o retorno gerado por ele, que será uma página HTML gerada dinamicamente.
Assim como no caso da página estática, um servidor web que interpreta PHP provavelmente terá configurado um arquivo padrão index.php para ser executado. Assim, no exemplo www.alfamidia.com.br/calendario/ um servidor web pode buscar um arquivo index.html e, não encontrando, um arquivo index.php.
Existe uma terceira possibilidade, muito utilizada em aplicações que utilizam MVC e outros modelos de desenvolvimento em camada, que é a definição de rotas. Nestes casos, quando não existe nenhum arquivo padrão no diretório especificado (por exemplo, não existe nem o index.html, nem o index.php), o servidor web pode executar um arquivo padrão na raiz do site (por exemplo, o index.php na pasta raiz).
Criar rotas é basicamente construir uma estrutura em um programa único, que sempre é chamado, e que vai interpretar a URL e retornar uma página gerada dinamicamente conforme o que foi informado na URL.
Por exemplo, podemos ter uma aplicação que sempre é chamada e que verifica a URL. Se está escrito calendario, retorna uma página de calendário de cursos. Se está escrito cursos-gratuitos retorna uma listagem de cursos gratuitos. Nesta terceira hipótese, pode nem existir a pasta calendario sendo a informação apenas utilizada para definir a contrução da página html dinamicamente gerada.
No vídeo a seguir, parte de nosso curso CRUD com PHP, mostramos a construção de uma tratamento de rotas utilizando a linguagem PHP.