So, recently, I’ve been playing around with the Laravel framework in my spare time. It’s been a good opportunity for me to not only brush up on my (ancient) PHP skills, but to learn more about the commonly used model, view, controller pattern. I’ve always considered myself an amateur programmer, but Laravel makes me feel like a fucking genius. It’s really been a revelation to see what I can accomplish with a more robust (and well explained) tool set.
There are quite a few things I like about Laravel:
- It’s got great, built-in ORM
Laravel’s Eloquent ORM completely eliminates the need to write SQL queries. I’m not a DBA; why the fuck should I have to construct a robust SQL query? Eloquent makes it incredibly easy to do that.
- The built in templating engine is incredibly robust
The only other template engine I’ve worked with before is Smarty, and it felt somewhat limiting. Blade seems to have a bit more in the way of logic. Plus, the ability to define default templates and simply focus on the content that will be appearing on an individual view is super liberating. I don’t have to worry about including the header, menu, footer, sidebar, etc. each time I make a new view. I just define a layout that has the necessary components, and off I go. Plus I can have multiple sections that all get displayed where I want them depending on what layout I’m using.
- Migrations make me crazy happy
I just moved my Laravel practice project to a new machine. I was up and coding again in minutes, with the same data set, thanks to migrations. Migrations let you rebuild your database in a flash, with all the base data you need to start working. All it takes is a few commands with Laravel’s Artisan command line tool, and you’re back in business.
I’m sure I’ll keep finding things I’m enjoying about Laravel. I’m hoping to use it for a website/app idea I got not too long ago. I’ll probably post updates about that whole thing here.