Laravel - Estrutura do Aplicativo

A estrutura da aplicação no Laravel é basicamente a estrutura de pastas, subpastas e arquivos incluídos em um projeto. Depois de criar um projeto no Laravel, temos uma visão geral da estrutura do aplicativo como mostrado na imagem aqui.

O instantâneo mostrado aqui se refere à pasta raiz do Laravel, a saber laravel-project. Inclui várias subpastas e arquivos. A análise de pastas e arquivos, juntamente com seus aspectos funcionais, é fornecida a seguir -

Aplicativo

É a pasta do aplicativo e inclui todo o código-fonte do projeto. Ele contém eventos, exceções e declaração de middleware. A pasta do aplicativo compreende várias subpastas, conforme explicado abaixo -

Console

O console inclui os comandos artesanais necessários para o Laravel. Inclui um diretório chamadoCommands, onde todos os comandos são declarados com a assinatura apropriada. O arquivoKernal.php chama os comandos declarados em Inspire.php.

Se precisarmos chamar um comando específico no Laravel, devemos fazer as alterações apropriadas neste diretório.

Eventos

Esta pasta inclui todos os eventos do projeto.

Os eventos são usados ​​para acionar atividades, levantar erros ou validações necessárias e fornecer maior flexibilidade. O Laravel mantém todos os eventos em um único diretório. O arquivo padrão incluído éevent.php onde todos os eventos básicos são declarados.

Exceções

Esta pasta contém todos os métodos necessários para lidar com exceções. Ele também contém o arquivohandle.php que lida com todas as exceções.

Http

o HttpA pasta possui subpastas para controladores, middleware e solicitações de aplicativos. Como o Laravel segue o padrão de projeto MVC, esta pasta inclui modelo, controladores e visualizações definidas para os diretórios específicos.

o Middleware a subpasta inclui o mecanismo de middleware, compreendendo o mecanismo de filtro e a comunicação entre a resposta e a solicitação.

o Requests A subpasta inclui todas as solicitações do aplicativo.

Empregos

o JobsO diretório mantém as atividades enfileiradas para o aplicativo Laravel. A classe base é compartilhada entre todos os Jobs e fornece uma localização central para colocá-los sob o mesmo teto.

Ouvintes

Os ouvintes são dependentes de eventos e incluem métodos que são usados ​​para tratar eventos e exceções. Por exemplo, ologin evento declarado inclui um LoginListener evento.

Políticas

As políticas são as classes PHP que incluem a lógica de autorização. O Laravel inclui um recurso para criar toda a lógica de autorização dentro das classes de política dentro desta subpasta.

Provedores

Esta pasta inclui todos os provedores de serviços necessários para registrar eventos para servidores núcleo e para configurar um aplicativo Laravel.

Bootstrap

Esta pasta contém todos os scripts de bootstrap do aplicativo. Ele contém uma subpasta, a sabercache, que inclui todos os arquivos associados para armazenar em cache um aplicativo da web. Você também pode encontrar o arquivoapp.php, que inicializa os scripts necessários para o bootstrap.

Config

o configA pasta inclui várias configurações e parâmetros associados necessários para o bom funcionamento de um aplicativo Laravel. Vários arquivos incluídos na pasta config são mostrados na imagem aqui. Os nomes dos arquivos funcionam de acordo com a funcionalidade associada a eles.

Base de dados

Como o nome sugere, este diretório inclui vários parâmetros para funcionalidades de banco de dados. Inclui três subdiretórios conforme abaixo -

  • Seeds - Contém as classes usadas para o banco de dados de teste de unidade.

  • Migrations - Esta pasta auxilia nas consultas de migração do banco de dados utilizado na aplicação web.

  • Factories - Esta pasta é usada para gerar um grande número de registros de dados.

Público

É a pasta raiz que ajuda na inicialização do aplicativo Laravel. Inclui os seguintes arquivos e pastas -

  • .htaccess - Este arquivo fornece a configuração do servidor.

  • javascript and css - Esses arquivos são considerados ativos.

  • index.php - Este arquivo é necessário para a inicialização de um aplicativo da web.

Recursos

O diretório de recursos contém os arquivos que aprimoram seu aplicativo da web. As subpastas incluídas neste diretório e sua finalidade são explicadas abaixo -

  • assets - A pasta de ativos inclui arquivos como LESS e SCSS, que são necessários para definir o estilo do aplicativo da web.

  • lang - Esta pasta inclui configuração para localização ou internalização.

  • views - Visualizações são os arquivos HTML ou modelos que interagem com os usuários finais e desempenham um papel principal na arquitetura MVC.

Observe que o diretório de recursos será simplificado em vez de ter uma pasta de ativos. A representação pictórica do mesmo é mostrada abaixo -

Armazenamento

Esta é a pasta que armazena todos os logs e arquivos necessários que são frequentemente necessários quando um projeto Laravel está sendo executado. As subpastas incluídas neste diretório e sua finalidade são fornecidas a seguir -

  • app - Esta pasta contém os arquivos que são chamados em sucessão.

  • framework - Contém sessões, cache e visualizações que são chamadas com frequência.

  • Logs - Todas as exceções e logs de erros são rastreados nesta subpasta.

Testes

Todos os casos de teste de unidade estão incluídos neste diretório. A convenção de nomenclatura para nomear classes de caso de teste écamel_case e segue a convenção de acordo com a funcionalidade da classe.

Fornecedor

O Laravel é totalmente baseado nas dependências do Composer, por exemplo, para instalar a configuração do Laravel ou incluir bibliotecas de terceiros, etc. A pasta Vendor inclui todas as dependências do compositor.

Além dos arquivos mencionados acima, o Laravel também inclui alguns outros arquivos que desempenham um papel principal em várias funcionalidades, como configuração do GitHub, pacotes e bibliotecas de terceiros.

Os arquivos incluídos na estrutura do aplicativo são mostrados abaixo -