Laravel - Application Structure

The application structure in Laravel is essentially the structure of organizers, sub-envelopes and documents 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 organizer of Laravel to be specific laravel-project. It incorporates different sub-envelopes and documents. The investigation of organizers and records, alongside their practical angles is given underneath −

Root Directory


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


Console incorporates the craftsman 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 envelope 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 organizer 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 organizer has sub-envelopes for controllers, middleware and application demands. As Laravel pursues the MVC configuration design, this envelope incorporates model, controllers and perspectives characterized for the particular directories.

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

The Requests sub-organizer incorporates every one of the solicitations of the application.


The Jobs index keeps up the exercises 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 approval rationale. Laravel incorporates an element to make all approval rationale inside approach classes inside this sub folder.


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


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


The config organizer incorporates different setups and related parameters required for the smooth working of a Laravel application. Different documents included inside the config envelope 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 envelope helps in inquiries for relocating the database utilized in the web application.

  • Factories − This envelope is utilized to create substantial number of information records.


It is the root envelope which helps in introducing the Laravel application. It incorporates the accompanying documents and envelopes −

  • .htaccess − This record gives the server configuration.

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

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


Resources catalog contains the records which improves your web application. The sub-envelopes incorporated into this registry and their motivation is clarified beneath −

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

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

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


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

  • app − This organizer contains the documents 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 conditions, for instance to introduce Laravel setup or to incorporate outsider libraries, and so on. The Vendor envelope incorporates all the author dependencies.

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

The documents incorporated into the application structure are appeared as follows