Laravel Application Structure

In this tutorial you will learn about the Laravel Application Structure and its application with practical example.

Laravel Root Directory

S.No. Directory/File Description
1 /app This directory contains all of your application’s core code
2 /bootstrap This directory contains all those files required to bootstrap the framework and configure auto-loading
3 /config This directory contains all the application configuration files
4 /database This directory contains all the database migrations and seeds. It can also be used to store the SQLite DB
5 /public This directory contains the front controllers and all the application assets such as images, CSS and JavaScript
6 /resources This directory contains views , language files and un-compiled assets such as LESS, SASS or JavaScript
7 /routes This directory contacins all of the route definitions for your application.
8 /storage This directory contains compiled blade templates, filed based sessions and file cache
9 /tests This directory contains all your automated unit tests for application
10 /vendor This directory contains all the composer dependencies

Laravel App Directory

S.No. Directory/File Description
1 /app/Console This directory contains all of your artisan commands
2 /app/Events This directory contains all your event classes, though it is not created by default
3 /app/Exceptions This directory contains all your exception handlers
4 /app/Http This is directory contains all your controllers, middleware and form requests
5 /app/Jobs This directory contains all queueable jobs, though it is not created by default
6 /app/Listeners This directory contains event handler classes, though it is not created by default
7 /app/Mail This directory contains all your classes required to send emails, though it is not created by default
8 /app/Notifications This directory contains all the notifications sent by application, though it is not created by default
9 /app/Policies This directory contains all the authorization policy classes for your application, though it is not created by default
10 /app/Providers This directory contains all of the service providers for your application.

Laravel Framework Files

S.No. Directory/File Description
1 .env It contains environment variables for application
2 .env.example It contains environment variables for application
3 .gitattributes It is Git configuration files
4 .gitignore It is Git configuration files
5 artisan It allows you to run Artisan commands
6 composer.json It is configuration file for Composer
7 composer.lock It is configuration file for Composer
8 gulpfile.js It is configuration file for Elixir and Gulp
9 package.json It is like composer.json but for frontend assets
10 phpunit.xml It is is a configuration file for PHPUnit
11 readme.md It contains general information about framework
12 server.php It works as internal web server

In this tutorial we have learn about the Laravel Application Structure and its application with practical example. I hope you will like this tutorial.