Pros: Use of Composer: To manage project dependencies Laravel uses Composer. Which allows the developer to just mention the package name, version, and pre-built functionalities are ready to use into your project which makes it a prominent candidate for fast building application.  Blade template: Blade templating engine is easy to learn and use. It helps one when working with typical PHP/HTML languages. Laravel web development enables the composer of the plain codes PHP in a layout shape hence improving the execution of usage difficulties. Great community support and tutorial available: Key learning tool to learn Laravel is Laracast. It contains paid and free both videos. Eloquent ORM: Object Relational Mapper, in Laravel Eloquent is used for the same, which implements the active record pattern and is used to interact with the relational database. It comes as a package. Artisan support: It’s a built-in command line tool provided by laravel. One can perform majorly repetitive and tiresome programming task with the help of artisan. Laravel provides some in-built commands with the functionality to create custom commands. Migration System database: Laravel schema allows developers to build database tables, add columns along with indices via just writing a simple migration script. Reverse Routing: In Laravel reverse routing is generating URL’s based on route declarations. Reverse routing makes your application so much more flexible. Along with it, Laravel has many great features like Routing, Inbuilt caching support, Queue support, dependency injection, multiple file system support, integration with mail service, etc. Cons: Legacy system migration to Laravel is not an easy task. Laravel documentation is heavy. Sometimes upgrades are not so smooth. It often lacks in providing the mobile app richness and because of that most developers use the framework as backend JSON API only.