Do not speak Portuguese? Translate this site with Google or Bing Translator
Estrutura de diretórios do Laravel

Posted on: October 09, 2024 03:18 PM

Posted by: Renato

Categories: Laravel vue

Views: 167

Estrutura de diretórios do Laravel

Estrutura de Diretórios do Laravel: Uma Visão Profissiona

O Laravel, um framework PHP moderno e elegante, oferece uma estrutura de diretórios bem organizada que facilita o desenvolvimento e a manutenção de aplicações web robustas. Neste artigo, vamos mergulhar nos principais diretórios do Laravel, destacando sua importância e funcionalidades.

1. Diretório de Aplicativos

O coração da sua aplicação reside no diretório app/. Aqui, você encontrará os controllers, models, jobs e outros componentes cruciais. A estrutura modular do Laravel favorece a organização eficiente do código, permitindo que você mantenha a coesão e a clareza.

2. Diretório Bootstrap

O diretório bootstrap/ contém os arquivos que inicializam o framework. O arquivo app.php é particularmente crucial, pois carrega todos os serviços necessários para iniciar a aplicação. Modificações nesse ponto podem afetar o ciclo de vida da aplicação.

3. Diretório de Configuração

Em config/, você encontrará os arquivos de configuração que definem diversos aspectos da sua aplicação. A separação clara de configurações facilita a personalização e a adaptação às necessidades específicas do projeto.

4. Diretório do Banco de Dados

O Laravel simplifica a interação com bancos de dados. O diretório database/ abriga as migrações, seeds e factories, oferecendo uma abordagem elegante para a gestão do esquema do banco de dados.

5. Diretório Público

O diretório public/ é o ponto de entrada para os visitantes da sua aplicação. Aqui, estão localizados os assets públicos, como imagens, folhas de estilo e scripts. É o local ideal para arquivos acessíveis publicamente.

6. Diretório de Recursos

resources/ é dedicado aos seus assets não públicos, como views, traduções e arquivos de front-end. Organizar esses recursos aqui contribui para uma separação limpa entre a lógica do backend e do frontend.

7. Diretório de Rotas

As rotas são essenciais para definir como a aplicação responde às solicitações do usuário. O diretório routes/ contém arquivos que definem essas rotas, mantendo a definição de URLs centralizada e legível.

8. Diretório de Armazenamento

O diretório storage/ armazena arquivos gerados pela aplicação, como logs, caches e uploads. Manter esses arquivos separados da lógica da aplicação contribui para uma estrutura limpa e escalável.

9. Diretório de Testes

A qualidade do software é crucial, e o Laravel incentiva fortemente o uso de testes automatizados. O diretório tests/ é o local adequado para escrever testes unitários e de integração, garantindo que a aplicação permaneça estável ao longo do tempo.

10. Diretório do Fornecedor

Por fim, o diretório vendor/ contém as dependências da sua aplicação. O Composer, gerenciador de dependências do PHP, instala e mantém essas dependências aqui, garantindo uma gestão eficiente de bibliotecas externas.


Em resumo, a estrutura de diretórios do Laravel proporciona uma base sólida para o desenvolvimento de aplicações web. Com a devida compreensão de cada diretório, você estará mais apto a criar, manter e escalar projetos Laravel com eficiência e elegância.




Neste post, você irá conhecer os principais arquivos e pastas do Laravel. Vamos lá?

Arquivos e pastas do Laravel.

A tabela a seguir apresenta as principais pastas e diretórios do Laravel. Note que nem todos os arquivos do Laravel são apresentados na tabela devido à grande quantidade de arquivos.

Diretório/arquivo Descrição
app/. Diretório que armazena os principais arquivos do seu código, como por exemplo, os controllers e os models.
app/Http/Controllers/. Armazena os controllers do seu site. Em uma aplicação MVC, o controller é responsável pelo carregamento das views e pelo acesso aos dados por meio da ligação com os models. Por convenção, arquivos de controller devem iniciar com letra maiúscula.
app/Models/. Diretório que armazena os models do seu site. Em uma aplicação MVC, o model é responsável pelo acesso aos dados. Por convenção, arquivos do model devem iniciar com letra maiúscula.
bootstrap/. Armazena os arquivos necessários para a inicialização do Laravel. Não alteramos os arquivos dessa pasta.
config/. Armazena os arquivos de configuração do framework. Podemos alterar os arquivos dessa pasta.
config/app.php Esse é o principal arquivo de configuração do PHP. Por exemplo, na linha 57 podemos alterar a URL padrão. Note que a melhor alternativa é realizar essas configurações
config/database.php Arquivo usado para configurar a conexão com um banco de dados.
database/. Armazena definições referentes às bases de dados. Caso você esteja utilizando o sistema de gerenciamento de banco de dados SQLite, os arquivos da sua base de dados ficarão armazenados nesse diretório.
lang/. Diretório que armazena códigos que personalizam mensagens de acordo com o idioma escolhido.
public/. Essa é a pasta raiz do Laravel. Note que se quisermos adicionar arquivos de estilo, imagens, favicon ou scripts, podemos alocá-los dentro desta pasta.
public/index.php Arquivo de índice. Principal arquivo carregado pelo servidor web. Não alteramos esse arquivo, pois, no padrão MVC, estilos e estruturas são configurados nas views.
resources/views/. Neste diretório ficam armazenadas as views. No padrão MVC, as views ou visões são responsáveis por carregar as interfaces exibidas ao usuário. Por convenção, todo o arquivo correspondente a uma view deve começar com letra minúscula e terminar com a extensão “.blade.php”.
routes/web.php Esse arquivo armazena as rotas permitidas na aplicação. As rotas delimitam qual controller irá responder para determinada URL acessada no navegador.
storage/. Armazena arquivos criados durante o processamento da aplicação, além de logs de erros do Artisan.
tests/. Diretório onde podemos armazenar nossos testes automatizados.
vendor/. Este diretório é gerenciado pelo Composer. Nesse diretório ficam armazenados os arquivos de autoload, códigos de implementações de padrões de projeto, além de códigos referentes a pacotes de terceiros. Não devemos fazer alterações nos arquivos desse diretório.
artisan Arquivo responsável por carregar o Artisan: a interface de linha de comando do Laravel.
composer.json É utilizado pelo Composer para gerenciar as dependências de pacotes do PHP. Por esse arquivo podemos adicionar na nossa aplicação códigos desenvolvidos por terceiros.
package.json Tem uma funcionalidade parecida com o composer.json, entretanto, o package.json é utilizado para gerenciar as dependências de arquivos JavaScript.
.env Arquivo usado para armazenar dados sensíveis, como senhas de banco de dados e a URL principal usada pelo comando url(‘/’);
Principais arquivos e diretórios do Laravel.
- https://diegomariano.com/estrutura-de-diretorios-do-laravel/ - https://www.linkedin.com/pulse/estrutura-de-diret%C3%B3rios-do-laravel-uma-vis%C3%A3o-rodolpho-de-paula-dpr3f/

4

Share

Donate to Site


About Author

Renato

Developer

Add a Comment
Comments 0 Comments

No comments yet! Be the first to comment

Blog Search


Categories

OUTROS (16) Variados (109) PHP (133) Laravel (171) Black Hat (3) front-end (29) linux (114) postgresql (39) Docker (28) rest (5) soap (1) webservice (6) October (1) CMS (2) node (7) backend (13) ubuntu (56) devops (25) nodejs (5) npm (3) nvm (1) git (8) firefox (1) react (7) reactnative (5) collections (1) javascript (7) reactjs (8) yarn (0) adb (1) Solid (2) blade (3) models (1) controllers (0) log (1) html (2) hardware (3) aws (14) Transcribe (2) transcription (1) google (4) ibm (1) nuance (1) PHP Swoole (5) mysql (31) macox (4) flutter (1) symfony (1) cor (1) colors (2) homeOffice (2) jobs (3) imagick (2) ec2 (1) sw (1) websocket (2) markdown (1) ckeditor (1) tecnologia (14) faceapp (1) eloquent (14) query (4) sql (40) ddd (3) nginx (9) apache (4) certbot (1) lets-encrypt (3) debian (12) liquid (1) magento (2) ruby (1) LETSENCRYPT (1) Fibonacci (1) wine (1) transaction (1) pendrive (1) boot (1) usb (1) prf (1) policia (2) federal (1) lucena (1) mongodb (4) paypal (1) payment (1) zend (1) vim (4) ciencia (6) js (1) nosql (1) java (1) JasperReports (1) phpjasper (1) covid19 (1) saude (1) athena (1) cinnamon (1) phpunit (2) binaural (1) mysqli (3) database (42) windows (6) vala (1) json (2) oracle (1) mariadb (4) dev (12) webdev (24) s3 (4) storage (1) kitematic (1) gnome (2) web (2) intel (3) piada (1) cron (2) dba (18) lumen (1) ffmpeg (2) android (2) aplicativo (1) fedora (2) shell (4) bash (3) script (3) lider (1) htm (1) csv (1) dropbox (1) db (3) combustivel (2) haru (1) presenter (1) gasolina (1) MeioAmbiente (1) Grunt (1) biologia (1) programming (22) performance (3) brain (1) smartphones (1) telefonia (1) privacidade (1) opensource (3) microg (1) iode (1) ssh (3) zsh (2) terminal (3) dracula (1) spaceship (1) mac (2) idiomas (1) laptop (2) developer (37) api (5) data (1) matematica (1) seguranca (2) 100DaysOfCode (9) hotfix (1) documentation (1) laravelphp (10) RabbitMQ (3) Elasticsearch (1) redis (2) Raspberry (4) Padrao de design (4) JQuery (1) angularjs (4) Dicas (43) Kubernetes (3) vscode (2) backup (1) angular (3) servers (2) pipelines (1) AppSec (1) DevSecOps (4) rust (1) RustLang (1) Mozilla (1) algoritimo (1) sqlite (1) Passport (2) jwt (5) security (2) translate (1) kube (2) iot (1) politica (2) bolsonaro (1) flow (1) podcast (1) Brasil (1) containers (3) traefik (1) networking (1) host (1) POO (2) microservices (2) bug (1) cqrs (1) arquitetura (3) Architecture (4) sail (3) militar (1) artigo (1) economia (1) forcas armadas (1) ffaa (1) autenticacao (2) autorizacao (2) authentication (4) authorization (3) NoCookies (1) wsl (4) memcached (1) macos (2) unix (2) kali-linux (1) linux-tools (5) apple (1) noticias (2) composer (1) rancher (1) k8s (1) escopos (1) orm (1) jenkins (4) github (5) gitlab (3) queue (1) Passwordless (1) sonarqube (1) phpswoole (1) laraveloctane (1) Swoole (1) Swoole (1) octane (1) Structurizr (1) Diagramas (1) c4 (1) c4-models (1) compactar (1) compression (1) messaging (1) restfull (1) eventdrive (1) services (1) http (1) Monolith (1) microservice (1) historia (1) educacao (1) cavalotroia (1) OOD (0) odd (1) chatgpt (1) openai (3) vicuna (1) llama (1) gpt (1) transformers (1) pytorch (1) tensorflow (1) akitando (1) ia (1) nvidia (1) agi (1) guard (1) multiple_authen (2) rpi (1) auth (1) auth (1) livros (2) ElonMusk (2) Oh My Zsh (1) Manjaro (1) BigLinux (2) ArchLinux (1) Migration (1) Error (1) Monitor (1) Filament (1) LaravelFilament (1) replication (1) phpfpm (1) cache (1) vpn (1) l2tp (1) zorin-os (1) optimization (1) scheduling (1) monitoring (2) linkedin (1) community (1) inteligencia-artificial (2) wsl2 (1) maps (1) API_KEY_GOOGLE_MAPS (1) repmgr (1) altadisponibilidade (1) banco (1) modelagemdedados (1) inteligenciadedados (4) governancadedados (1) bancodedados (2) Observability (1) picpay (1) ecommerce (1) Curisidades (1) Samurai (1) KubeCon (1) GitOps (1) Axios (1) Fetch (1) Deepin (1) vue (4) nuxt (1) PKCE (1) Oauth2 (2) webhook (1) TypeScript (1) tailwind (1) gource (2)

New Articles



Get Latest Updates by Email