Laravel - Application Structure

The application structure in Laravel is essentially the structure of folder , sub-folders and files incorporated into an undertaking. When we make a task in Laravel, we get an outline of the application structure as appeared in the picture here.

The preview appeared here alludes to the root folder of Laravel to be specific laravel-project. It incorporates different sub-folders and files. The investigation of folder s and records, alongside their functional is given underneath −

Root Directory


It is the application folder and incorporates the whole source code of the undertaking. It contains occasions, exemptions and middleware revelation. The application folder includes different sub folders as clarified beneath −


Console incorporates the artisan directions essential for Laravel. It incorporates an index named Commands, where every one of the directions are announced with the proper mark. The document Kernal.php calls the directions proclaimed in Inspire.php.


If we have to call a particular order in Laravel, at that point we should roll out fitting improvements in this directory.


This folder incorporates every one of the occasions for the project.


Events are utilized to trigger exercises, raise mistakes or important approvals and give more prominent adaptability. Laravel holds every one of the occasions under one catalog. The default document included is event.php where all the essential occasions are declared.


This folder contains every one of the strategies expected to deal with special cases. It likewise contains the record handle.php that handles all the exceptions.


The Http folder has sub-folders for controllers, middleware and application demands. As Laravel pursues the MVC configuration design, this folder incorporates model, controllers and perspectives characterized for the particular directories.

The Middleware sub-folder incorporates middleware component, involving the channel instrument and correspondence among reaction and request.

The Requests sub-folder incorporates every one of the requests of the application.


The Jobs index keeps up the activities lined for Laravel application. The base class is shared among every one of the Jobs and gives a focal area to put them under one roof.


Listeners are occasion ward and they incorporate techniques which are utilized to deal with occasions and special cases. For instance, the login occasion pronounced incorporates a LoginListener event.


Policies are the PHP classes which incorporates the authorization logic. Laravel incorporates an element to make all authorization logic inside approach classes inside this sub folder.


This folder incorporates all the specialist organizations required to enlist occasions for center servers and to design a Laravel application.


This folder encases all the application bootstrap contents. It contains a sub-folder in particular store, which incorporates every one of the files related for reserving a web application. You can likewise discover the record app.php, which introduces the contents important for bootstrap.


The config folder incorporates different setups and related parameters required for the smooth working of a Laravel application. Different files included inside the config folder are as appeared in the picture here. The filenames fill in according to the usefulness related with them.



As the name proposes, this catalog incorporates different parameters for database functionalities. It incorporates three sub-indexes as given beneath −

  • Seeds − This contains the classes utilized for unit testing database.

  • Migrations − This folder helps in inquiries for relocating the database utilized in the web application.

  • Factories − This folder is utilized to create large number of information records.


It is the root folder which helps in introducing the Laravel application. It incorporates the accompanying files and folders −

  • .htaccess − This record gives the server configuration.

  • javascript and css − These file are considered as assets.

  • index.php − This document is required for the instatement of a web application.


Resources catalog contains the file which improves your web application. The sub-folders incorporated into this registry and their purpose is clarified beneath −

  • assets − The advantages folder incorporate files, for example, LESS and SCSS, that are required for styling the web application.

  • lang − This folder incorporates setup for limitation or internalization.

  • views − Views are the HTML files or formats which collaborate with end clients and assume an essential job in MVC architecture.


This is the folder that stores every one of the logs and important files which are required much of the time when a Laravel venture is running. The sub-folder s incorporated into this index and their purpose is given underneath −

  • app − This folder contains the files that are brought in succession.

  • framework − It contains sessions, reserve and perspectives which are called frequently.

  • Logs − All exemptions and blunder logs are followed in this sub folder.


All the unit experiments are incorporated into this index. The naming tradition for naming experiment classes is camel_case and pursues the tradition according to the usefulness of the class.


Laravel is totally founded on Composer dependencies, for instance to introduce Laravel setup or to incorporate outsider libraries, and so on. The Vendor folder incorporates all the composer dependencies.

In expansion to the previously mentioned files, Laravel additionally incorporates some different file which assume an essential job in different functionalities, for example, GitHub configuration, bundles and outsider libraries.

The files incorporated into the application structure are appeared as follows