Estrutura de Pastas Laravel 12

Laravel
Tempo de leitura: 4 minutos

Estrutura de Pastas Laravel 12: Com o lançamento do Laravel 12, o framework continua aprimorando sua estrutura de pastas, mantendo a filosofia de convenções sobre configurações e aprimorando a simplicidade introduzida no Laravel 11. Entender essa organização é o primeiro passo para desenvolver qualquer aplicação profissional em Laravel.

Neste artigo, exploraremos a estrutura de pastas do Laravel 12, destacando as funções de cada diretório principal, especialmente as mudanças focadas na simplificação e minimalismo.

1. ⚙️ A Estrutura Simplificada do Laravel 12

O Laravel 12 mantém a arquitetura limpa do 11, mas garante que os componentes essenciais estejam presentes. A principal mudança, em comparação com versões mais antigas (como 10), é a remoção de arquivos e pastas desnecessários para um novo projeto.

DiretórioFunção PrincipalDestaques no Laravel 12
appCódigo central da sua aplicação (Modelos, Controllers, Lógica de Negócio).Estrutura mais plana, muitos arquivos removidos ou movidos para o bootstrap/app.php.
bootstrapInicialização do framework e autoloading.Contém o crucial arquivo app.php que concentra a configuração de middleware e service providers.
configArquivos de configuração globais.Arquivos de configuração mais concisos; alguns padrões são definidos por convenção.
databaseGerenciamento do Banco de Dados (Migrations, Seeders, Factories).Padrão inalterado, essencial para o Eloquent ORM.
publicPasta raiz do servidor web. Ponto de entrada público da aplicação.Contém index.php (o ponto de entrada) e assets compilados (CSS/JS).
resourcesRecursos não compilados (Views, Linguagens, Assets brutos).Contém as views do Blade (resources/views).
routesDefinição de URLs e suas respectivas ações.Mantém web.php e api.php.
storageDados gerados pela aplicação (Logs, Sessões, Cache, Uploads de arquivos).Essencial para o funcionamento do sistema de cache e sessions.
testsTestes automatizados (Unitários e de Integração).Organizado em subpastas Feature e Unit.
vendorDependências de terceiros instaladas pelo Composer.Nunca deve ser versionada (ignorada pelo Git).

2. 📁 Explorando os Diretórios Chave em Detalhe

A. Diretório app/ (O Core da Aplicação)

Este é onde a lógica do seu negócio reside. No Laravel 12, a estrutura é mais limpa por padrão:

  • app/Models: Contém as classes que representam as tabelas do banco de dados (o coração do Eloquent ORM).
  • app/Http/Controllers: Contém a lógica de tratamento das requisições HTTP e preparação das respostas.

Simplificação do Laravel 12: Diretórios como app/Exceptions, app/Http/Middleware, e alguns Service Providers foram removidos ou simplificados, promovendo o uso de closures e arquivos de configuração centralizados, como o bootstrap/app.php.

B. Diretório routes/ (O Mapeamento da Aplicação)

Onde você define como as URLs (rotas) se conectam à sua lógica (Controllers ou Closures).

  • web.php: Rotas que precisam de estado (sessões, cookies) – ideal para a aplicação principal e painéis de administração.
  • api.php: Rotas stateless (sem estado), frequentemente utilizadas para APIs RESTful, tipicamente protegidas por tokens (como Sanctum).
  • console.php: Define comandos personalizados do Artisan.

C. Diretório database/

Crucial para gerenciar a estrutura e o conteúdo do seu banco de dados de forma controlada.

  • migrations: Contém as classes que definem a estrutura das tabelas (o histórico de alterações do seu banco).
  • seeders: Classes usadas para popular o banco de dados com dados iniciais ou de teste.
  • factories: Classes usadas para gerar grandes volumes de dados falsos (fictícios) para testes e seeders.

3. 📄 Arquivos de Configuração e Ambiente

A. Arquivo .env (Configuração de Ambiente)

Este arquivo é fundamental e define as configurações específicas do ambiente (local, teste, produção).

  • Conteúdo: Credenciais do banco de dados (DB_...), chaves de API, configurações de email e a App Key (APP_KEY).
  • Segurança: O .env NUNCA DEVE SER VERSIONADO no Git (o arquivo .gitignore garante isso), pois contém segredos.

B. Arquivo config/app.php (Configuração Central)

Contém a configuração global da aplicação, como o fuso horário, a chave de criptografia e os service providers básicos (embora muitos estejam concentrados no bootstrap/app.php no Laravel 12).

4. 🔑 A Importância do Ponto de Entrada (public/index.php)

No Laravel, o arquivo public/index.php é o único arquivo acessível diretamente pelo navegador.

  1. Todas as requisições HTTP são direcionadas a este arquivo.
  2. Ele carrega o autoloader do Composer.
  3. Ele carrega a aplicação Laravel a partir da pasta bootstrap/.

Princípio: Esta arquitetura garante que todos os arquivos sensíveis (como .env e arquivos de configuração) permaneçam fora do diretório raiz acessível publicamente, aumentando a segurança.

✅ Conclusão Estrutura de Pastas Laravel 12

A estrutura de pastas do Laravel 12 é a base da sua produtividade. Sua organização lógica, a separação clara entre lógica de negócio (app/) e recursos de front-end (resources/), e o uso das pastas database/ e routes/ definem um padrão de desenvolvimento robusto e fácil de manter. Compreender essa estrutura é o ponto de partida para dominar o framework.

Mas antes de dominar o Laravel, se for o seu caso, toda jornada tem um início. Vamos entender quais são os conhecimentos básicos necessários para aproveitar ao máximo este poderoso framework. Para iniciar seus estudos no Laravel, você precisará dominar as seguintes tecnologias:

HTML
HTML
CSS
CSS
Javascript
JavaScript
SQL
SQL
Capa Curso PHP
PHP

E se você gosta do nosso conteúdo, não deixe de contribuir adquirindo os serviços e produtos dos nossos apoiadores e empresas que somos associados:

Hospedagem Hostinger
Ofertas Amazon
Amazon Prime
Author: Thiago Rossi
Com mais de 20 anos de jornada na tecnologia, minha trajetória evoluiu do ensino técnico à arquitetura de sistemas complexos. Hoje, foco minha expertise no desenvolvimento de soluções de Inteligência Artificial nativa e análise de dados públicos, utilizando o ecossistema PHP para transformar dados brutos em transparência e eficiência. Como autor e desenvolvedor, acredito na democratização do conhecimento. Essa visão resultou em uma biblioteca de mais de 530 artigos gratuitos, cobrindo desde a base do WebDev e Infraestrutura até os bastidores da indústria de Jogos e IA. No universo de Game Design, sou autor do livro "GDD – O Guia Definitivo" e documento ativamente meus processos através de DevLogs, unindo rigor técnico e criatividade em projetos desenvolvidos com GDevelop 5. Meu compromisso é conectar engenharia de ponta com as reais oportunidades do mercado de tecnologia.