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ório | Função Principal | Destaques no Laravel 12 |
app | Có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. |
bootstrap | Inicialização do framework e autoloading. | Contém o crucial arquivo app.php que concentra a configuração de middleware e service providers. |
config | Arquivos de configuração globais. | Arquivos de configuração mais concisos; alguns padrões são definidos por convenção. |
database | Gerenciamento do Banco de Dados (Migrations, Seeders, Factories). | Padrão inalterado, essencial para o Eloquent ORM. |
public | Pasta 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). |
resources | Recursos não compilados (Views, Linguagens, Assets brutos). | Contém as views do Blade (resources/views). |
routes | Definição de URLs e suas respectivas ações. | Mantém web.php e api.php. |
storage | Dados gerados pela aplicação (Logs, Sessões, Cache, Uploads de arquivos). | Essencial para o funcionamento do sistema de cache e sessions. |
tests | Testes automatizados (Unitários e de Integração). | Organizado em subpastas Feature e Unit. |
vendor | Dependê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 obootstrap/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
.envNUNCA DEVE SER VERSIONADO no Git (o arquivo.gitignoregarante 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.
- Todas as requisições HTTP são direcionadas a este arquivo.
- Ele carrega o autoloader do Composer.
- Ele carrega a aplicação Laravel a partir da pasta
bootstrap/.
Princípio: Esta arquitetura garante que todos os arquivos sensíveis (como
.enve 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:
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:










