Ícone do site dfilitto

Estrutura de pastas do Framework PHP Laravel

creative dark internet designer

Photo by Markus Spiske on Pexels.com

O post Estrutura de pastas do Framework PHP Laravel fala sobre toda a estrutura de pastas e arquivos do Laravel. Contruimos um projeto utilizando a versão 5.5.* do Laravel para analizar a estrutura de pastas do mesmo.

Estrutura de pastas do Framework PHP Laravel

Arquivos Importantes:

Já na raiz do framework podemos notar alguns arquivos, agora vamos analisar os principais e suas funcionalidades.

.env:

Este arquivo ficam informações sensíveis, informações de senha e configuração do sistema. O propósito deste arquivo é manter os dados de senha armazenados de forma mais segura possível.

artisan:

É o grande amigo do(a) desenvolver(a) Laravel, este arquivo provê uma interface CLI (Command Line Interface) onde é possível rodar comandos e automatizar e simplificar diversas tarefas, como por exemplo criar Controllers, Models e mutio mais.

composer.json:

Para quem já trabalha com o composer está familiarizado com este arquivo, este arquivo mantém as informações dependências do projeto (pacotes de terceiros), possui informações sobre o carregamento de Classes e arquivos (autoload) e ainda contém algumas configurações para rodar alguns scripts. Saiba mais sobre o composer.

package.json:

Esse arquivo segue a mesma linha de raciocínio do arquivo composer.json, porém ele é para definir dependências de pacotes JS

webpack.mix.js:

Este arquivo é de configuração do webback, neste arquivo é possível definir as configuração para compactação e unificação de arquivos css e js, com Laravel MIX.

Estrutura de pastas do laravel:

O Laravel já traz consigo uma estrutura de pastas, agora vou detalhar cada uma e qual a funcionalidade dentro do clico de vida do Framework.

public/:

É o Document Root do Laravel, ou seja, é o ponto de partida. O arquivo index.php é o start do Laravel, é a partir deste arquivo que tudo inicia (O arquivo autoload.php é incluído neste ponto). É dentro deste diretório que os arquivos públicos devem ficar, como por exemplo arquivos de imagens, fonts, css e JS.

bootstrap/:

É onde fica os arquivo(s) de inicialização do framework, o arquivo app.php tem a configuração de bootstrap da aplicação, ou seja, é este arquivo que inicia os serviços que o Laravel precisa para começar a rodar. Neste diretório também outro chamado “cache” que contém os arquivos gerados para otimização de cache.

config/:

Como o próprio nome sugere é onde fica os arquivos de configuração do Framework. Os nomes dos arquivos de configuração são bastante sugestivos e cada um tem uma responsabilidade única e específica.

vendor/:

É o diretório proibido e intocável pelo Homem. Este diretório e tudo o que há nele é gerado pelo composer (que é o gerenciador de dependências do PHP), tudo o que há neste diretório é gerenciado pelo composer e por esse motivo não é válido fazer nenhuma alteração manual. O que há neste diretório é arquivos configuração de autoload do composer e pacotes de terceiros utilizados em seu projeto.

routes/:

Como o próprio nome sugere é onde fica os arquivos de rotas do sistema. O sistema de rotas do Laravel é muito robusto.

database/:

É neste diretório que fica os arquivos de definição de banco de dados, em alguns casos fica até mesmo o próprio banco de dados (quando estiver trabalhando com sqlite, por exemplo!).

resources/:

Neste diretório fica alguns arquivos visuais da aplicação, como as próprias views, arquivos de internacionalização (tradução) e arquivos de assets não compilados como LESS, SASS e JavaScript

storage/:

Em resumo neste diretório contém conteúdos que são armazenados e utilizados durante o processamento da aplicação. É aqui que fica os arquivos compilados do template blade do laravel

tests/:

É neste diretório que deve ficar os arquivos para testes automatizados. Saiba Mais!

app/:

Neste diretório é onde certamente irá ficar a maior parte do nosso código, ou seja, é neste diretório que fica a parte lógica da aplicação que você irá desenvolver. E é neste diretório que tem a maior estrutura de diretórios e subdiretórios.

Vale lembrar que o carregamento das classes neste diretório se dá pelo composer com a PSR-4

Nas versões mais atuais do Laravel >= 5.3 este diretório vem mais clean (limpo), mas a medida que a aplicação vai escalando e crescendo em funcionalidades este diretório é incrementado em novos diretórios. Por padrão tem os diretórios: Console, Exceptions, Http, e Providers.

Super dicas

Quer aprender muito mais sobre programação? Então se inscreva no curso PHP básico.

Se inscreva em nosso canal e compartilhe as matérias que gostar com os seus colegas.

Participe dos nossos grupos de estudos do Facebook e Telegram.

Aproveite também e venha fazer parte do nosso clube de vantagens e ter acesso exclusivo a vídeos, tutoriais, cursos e muito mais.

Clique no link para se tornar um membro do dfilitto – clube de vantagens e ter acesso a todos os benefícios do nosso clube.

Sair da versão mobile