PT-BR — Organização de Rotas no Laravel

Na ultima postagem

Caso você tenha perdido, na ultima postagem mencionei diversas fontes de informação para aprender sobre laravel e outras tecnologias, incluindo podcasts, websites, grupo no facebook do Laravel Brasil e personalidades para seguir no twitter. Você pode ver no link a seguir:

Intro & Referências de Conteúdo Sobre Laravel (em inglês)

Rotas no Laravel

Hoje irei escrever sobre uma maneira de organizar as rotas do Laravel que vem sendo muito utilizada e que pessoalmente acho útil e simples de implementar. Vamos lá.

Ao lado, podemos ver a estrutura de diretórios padrão de uma instalação do Laravel 5.1. Nesse caso, todas as rotas registradas são carregadas a partir do arquivo routes.php.

O problema é: frequentemente esse arquivo acaba ficando muito cheio, quanto mais cheio mais bagunçado e difícil de localizar as rotas. Esse cenário tende a piorar com o crescimento da sua aplicação e se você não tomar cuidado vai perder um bom tempo com isso. Veja um exemplo simples:

Exemplo de arquivo routes.php

Nesse routes.php temos quase 100 linhas de código, 3 grupos de rotas e a aplicação está longe de ficar pronta! Pode parecer bobeira, mas futuramente isso vai ficar cada vez pior aos olhos. Então, o que fazer?

Cada pessoa tem seu estilo e gosta de organizar seu código de uma maneira diferente, como não existe certo e errado o que vou dizer é apenas uma conveniência de organização e não deve ser usado como regra, é apenas uma SUGESTÃO, se gostar ótimo se não gostar deixe sua opinião e compartilhe qual é sua maneira. Espero que a informação seja útil para outras pessoas, principalmente iniciantes.

Organizando as Rotas

Por que não organizar as rotas em arquivos com nomes intuitivos e coloca-los todos em uma pasta Routes? Talvez seria uma boa ideia criar um arquivo para cada grupo de rotas, acrescentar prefixos como api_ ,admin_ ou o que for conveniente para você. Contanto que faça sentido e seja intuitivo já é um avanço em termos de organização! Pense que um dia pode ser preciso dar manutenção no seu sistema e que essa simples organização pode ajudar.

Agora vamos ao ‘como’. Percebeu que ainda temos o antigo routes.php na imagem? Então, vamos alterá-lo para carregar todas as rotas da pasta Routes.

routes.php

Resumindo o que está acontecendo ai: criamos uma variável $route_partials para receber uma lista que contém os nomes dos arquivos de rotas que estão dentro da pasta Routes (criada por você). Logo abaixo, fazemos um for para procurar um arquivos de rotas com aqueles nomes na pasta Routes, dar um require_once neles e pronto! Lembrando que a ordem que você inserir o nome dos arquivos importa, pois o require será dado na mesma ordem.

Novo Fluxo

Então agora você terá que seguir esse fluxo para criar novas rotas para sua aplicação.

  1. Criar um arquivo dentro da pasta Routes
  2. Adicionar as rotas normalmente nesse arquivo
  3. Adicionar o nome desse arquivo ao array do routes.php
Exemplo de um arquivo da pasta Routes

Conclusão

Não custa ser mais organizado, esse é o tipo de coisa que pode te poupar algum tempo a longo prazo e deixa seu projeto mais apresentável aos olhos. Espero ter ajudado alguém e espero que outras pessoas gostem desse método, por favor contribuam com suas opiniões e compartilhem outras maneiras de fazer isso! Obrigado pelo seu tempo.