It’s always the same: You have a new idea for a web project and just want to start developing. But before you can actually get started you have to make some fundamental decisions concerning your technology stack.
It’s clear that you want to build a web application and therefore you have a handful of choices. I chose PHP because long time ago I made my first real programming attempts with PHP (after programming some text adventures in QuickBasic).
My first website project, a band-page, was written in pure PHP from scratch. It was a stony way. Many projects followed and with them my technology stack got bigger.
The time came where I found out that there are some really cool PHP frameworks out there waiting for me to be used. I found CodeIgniter and it looked great. No more $_GET variable checks to decide which page should be rendered, clear separation between logic, database query stuff and templates.
I built my site ZeroExpenses.de on it and it was amazing how fast and easy I could implement all features compared to my earlier projects.
After I finished the project I found some bad things, too though. I wished to have some ORM, it was a pain to build all the queries all the time though most of them were pretty basic.
What the docs said sounded amazing, all the boring and repetitive things I had in CodeIgniter should now be solved by Laravel!
I built some small things for testing purposes and after some time I used ZeroExpenses I had the feeling to change something and started to build it from scratch with Laravel 4.
For every later project I used Laravel and I am still using it. Let me tell you why
Really! Laravel is one of the best-documented PHP MVC frameworks out there. Starting from zero never felt so easy.
2. Rails-like syntax
I have experience with Ruby on Rails and I can say that the Laravel MVC approach truly is pretty similar to it but without the feeling of being lost by all this “magic stuff” Rails does for you. The syntax feels intuitive and easy to understand.
The Laravel community is big. The biggest thing is Laracasts in my opinion. I have never seen so many video lessons for a specific framework. The founder is Jeffrey Way and Laracasts may be the biggest source of Laravel-specific tutorials and screen-casts out there. The discussion forum is full of Laravel developers really willing to help (laracasts.com/discuss). There is also a Slack channel (https://larachat.co)
4. Blade template engine
It’s a blessing to not have to write <?php ?> code inside your template files in most cases. The Blade Template Engine delivers some powerful syntax constructs and there even can be added new ones!
The most used ones by myself are some of these:
5. Ready-to-use ORM “Eloquent”
My most wanted feature for CodeIgniter. The Laravel Model-approach is great and well-thought. It yet delivers powerful options but the model code itself is kept pretty simple.
You can even build relationships between tables and query, store or update them by using model objects:
These are just a few things I wanted to come up with but if you really want to get an overview of Laravel’s features just head to the official documentation at https://laravel.com/docs/5.4.