I have worked with Laravel on over half a dozen projects now and have found my "ain, true love". With each new release, it's only getting better and better. There are many reasons why I love it and why it is the most popular PHP framework of 2017. For me, the main reasons are that it's easy & fun to use, extend, and deploy.
If you are versed in PHP, Larvel is easy to learn and it's well documented. Read the documentation on Laravel's site, browse to Laracasts for great tutorials and look at what's "under the veil" at GitHub.
I develop Laravel projects on a local environment with Homestead, Laravel's pre-packaged Vagrant box. It was very easy to set up and get started. Also, by working locally when our internet at the office goes down (thanks Comcast!), it doesn't slow me down a heartbeat. Homestead has everything you need pre-loaded, Nginx, PHP, MySql, Composer, Node, Git, etc.
When you're ready to deploy the project, it's a piece of cake. We use BitBucket and Jenkins for deploying to AWS instances. Keep sensitive information in an .env file and out of the code repository. Laravel's database migration and seeding make setting up the database and continuous integration to it as easy as typing 3 words 'php artisan migrate'. This is especially useful when handing off deployments to 3rd party dev-op teams, which we often need to do.
How do I love thee, let me count the ways:
- Beautiful, elegant code. I appreciate this having developed websites for over two decades and having taken over legacy projects with sloppy, messy code. Believe me, Laravel is a joy to program with.
- It's an MVC architecture. This allows projects to be worked on simultaneously by different teams (DBAs, devs, designers) without stepping on each others toes. Not to mention that the code is in neat, logical files and folders.
- Its well maintained. Currently it has over 400 active contributors fixing, enhancing, and improving it.
- Great housekeeping. Log file rotation, job queueing, error reporting, package management (with Composer).
- ORM, query builder, migrations & seeds. Powerful tools to help write your queries and keep your databases in sync.
- Blade templating & front-end scaffolding. Either use Blade for the views and/or pair it with the js/css scaffolding of your choice be it Vue, React, Bootstrap, or your own custom mix.
- Routes & Restful controllers. Easily control url paths, handlers for http methods, security, and responses.
- October CMS. This most popular Laravel CMS offers a picture-perfect marriage of a CMS with a platform to extend it with custom features developed in the laravel-way.
If you've got a project that needs either a CMS, an API site, to be paired with a specific front-end, requires frequent updates to databases, or should be it's own full-fledged website developed rapidly, then Laravel is the way to go. I'm looking forward to what new features 2018 will bring. Laravel: Learn it, Load it, Love it.