Aguarde, carregando...

O que são rotas ou routes em php e para que servem

O que são rotas ou routes em php e para que servem
Daniel Crocciari
Por: Daniel Crocciari
Dia 27/11/2024 08h05

Conheça um pouco do conceito de rotas (routes) em PHP, tudo o que elas podem fazer por sua aplicação e se posso utilizar em qualquer projeto ou somente em frameworks.

Ao olharmos o código de um arquivo index.php, às vezes observamos umas tais de rotas, elas nada mais são que um conceito e uma prática comum em frameworks modernos (como Laravel, Symfony), mas também existem em projetos personalizados. Este conceito simplifica a organização do código, melhora a manutenção e facilita o desenvolvimento de aplicações PHP e ajuda na segurança.

Aqui estão os principais motivos para utilizá-lo:


Controle Centralizado

Ter um único ponto de entrada para gerenciar todas as solicitações permite que você controle facilmente como a aplicação responde a diferentes URLs. Isso simplifica a lógica e permite alterações sem modificar múltiplos arquivos.


Organização do Código

O uso de rotas ajuda a separar a lógica de apresentação e a lógica de controle:

URLs específicas são mapeadas para controladores ou funções.
Evita misturar lógica de aplicação diretamente com o HTML.
Exemplo:

$route = $_SERVER['REQUEST_URI'];
if ($route === '/home') {
require 'controllers/homeController.php';
} elseif ($route === '/about') {
require 'controllers/aboutController.php';
} else {
require 'controllers/404Controller.php';
}


URLs Amigáveis

As rotas permitem criar URLs mais claras e fáceis de entender, em vez de parâmetros de consulta extensos.

Sem rotas:

https://meusite.com/index.php?page=about

Com rotas:

https://meusite.com/about

Isso melhora a experiência do usuário e o SEO.


Facilita a Escalabilidade

Se sua aplicação crescer, ter um sistema de rotas bem definido torna mais fácil adicionar novas funcionalidades, mantendo o código organizado.

Exemplo com uma abordagem dinâmica:

$routes = [
'/home' => 'controllers/homeController.php',
'/about' => 'controllers/aboutController.php',
'/contact' => 'controllers/contactController.php'
];
$route = $_SERVER['REQUEST_URI'];
if (array_key_exists($route, $routes)) {
require $routes[$route];
} else {
require 'controllers/404Controller.php';
}


Middleware e Segurança

Ao centralizar as rotas no index.php, você pode implementar facilmente funcionalidades como:

Autenticação.
Controle de acesso.
Filtragem de entrada/sanitização.


Exemplo:

if ($route === '/admin' && !isUserAuthenticated()) {
header('Location: /login');
exit;
}


Integração com APIs

Rotas são úteis para diferenciar entre recursos da interface (HTML) e endpoints da API:

$route = $_SERVER['REQUEST_URI'];
if ($route === '/api/users') {
require 'api/users.php';
} elseif ($route === '/home') {
require 'views/home.php';
}


Então Guarde Isso

O uso de rotas no index.php traz controle, organização, escalabilidade, flexibilidade para aplicações PHP e uma certa camada de segurança. Ele também torna seu código mais profissional e alinhado com boas práticas modernas. Mesmo em projetos simples, adotar este conceito é vantajoso a longo prazo.

Será muito bom para você se seus novos projetos já contarem com rotas.

Veja também:

Confira mais artigos e vídeos do Farol .