DEV Community

Lithe
Lithe

Posted on

1 1

Organizando Suas Rotas de Forma Modular e Automática no Lithe

A organização das rotas em uma aplicação pode ser um desafio, especialmente quando o número de páginas cresce. Pensando nisso, no Lithe, você pode organizar suas rotas de maneira mais limpa e modular usando o método set('routes', ...). Com ele, o processo de registro de rotas fica mais simples, permitindo que você se concentre na lógica da sua aplicação, enquanto o sistema cuida de tudo automaticamente.

Como Funciona?

Quando você utiliza set('routes', ...) no Lithe, o sistema localiza e carrega automaticamente todos os arquivos PHP dentro da pasta de rotas (incluindo subpastas). Cada arquivo de rota será mapeado com base na sua estrutura, criando rotas com caminhos específicos.

Por exemplo:

  • Se você tiver um arquivo cart.php, a rota será /cart.
  • Se tiver um arquivo admin/dashboard.php, a rota será /admin/dashboard.

Atenção ao Usar Subpastas

Dentro da estrutura de rotas no Lithe, o arquivo index.php é sempre interpretado como a rota principal de uma pasta. Ou seja, se você tiver um arquivo index.php dentro da pasta de rotas, ele será mapeado para a rota /, que representa a raiz da aplicação.

No entanto, se você usar subpastas como panel/index.php, o sistema não irá mapear para a rota /panel, mas para /panel/index. Para garantir que a rota seja mapeada corretamente para /panel, basta nomear o arquivo como panel.php, assim:

  • index.php → mapeia para a rota /
  • panel.php → mapeia para a rota /panel

Essa abordagem ajuda a evitar sobrecarga de rotas e deixa a estrutura de arquivos muito mais intuitiva.

Estrutura de Diretórios

Aqui está um exemplo de como a estrutura de diretórios pode ficar:

/routes
    cart.php
    checkout.php
    /admin
        dashboard.php
        users.php
Enter fullscreen mode Exit fullscreen mode

Como Definir as Rotas

Em cada arquivo de rota, você pode usar o estilo de código que preferir, seja com sintaxe funcional ou sintaxe clássica.

Exemplo de cart.php:

get('/', function ($req, $res) { 
  $res->send('Carrinho'); 
});
Enter fullscreen mode Exit fullscreen mode

Exemplo de admin/dashboard.php:

$router->get('/', function ($req, $res) { 
  $res->send('Painel Administrativo'); 
});
Enter fullscreen mode Exit fullscreen mode

Configuração da Aplicação

Para configurar o caminho das suas rotas e habilitar o carregamento automático no Lithe, basta adicionar a seguinte linha de código na sua aplicação:

$app->set('routes', __DIR__ . '/routes');  // Define o caminho e carrega rotas automaticamente
Enter fullscreen mode Exit fullscreen mode

Com essa configuração, o sistema automaticamente irá localizar e carregar todas as rotas definidas, simplificando o processo e garantindo uma organização muito mais eficiente da sua aplicação no Lithe.


Essa organização torna sua aplicação mais escalável e fácil de manter, permitindo que você se concentre no que realmente importa ao desenvolver no Lithe!

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Discover a treasure trove of wisdom within this insightful piece, highly respected in the nurturing DEV Community enviroment. Developers, whether novice or expert, are encouraged to participate and add to our shared knowledge basin.

A simple "thank you" can illuminate someone's day. Express your appreciation in the comments section!

On DEV, sharing ideas smoothens our journey and strengthens our community ties. Learn something useful? Offering a quick thanks to the author is deeply appreciated.

Okay