Laravel is an open source PHP development framework. It has seen a surge in popularity among developers due to its alignment with current IT working practices of sprint teams and rapid development for iterative designing, the ‘Fail fast, fail forward’ ethos. Laravel also taps into the two prerequisites for a good framework: it’s open source, and has a strong developer community network.
Because of the above, Laravel has quickly become one of, if not the most popular frameworks for PHP development. Since PHP powers around 80% of websites, it is a force to be reckoned with. We can back up this statistic with our own findings noticing a rising trend on Zoek searches for Lavarvel developer jobs.
So, to shed a little more light on Laravel, we talked with Craig Ward, an experienced PHP developer and Laravel advocate, and asked him his thoughts on Laravel.
Zoek: Hi Craig, so although Laravel isn’t that new having been around some 6 years, how did you come to be using it and what were you using before Laravel?
Craig: For the past year I've been using Laravel to develop all my online applications, but before that, I used to Codeigniter for about four or five years. Codeigniter was a good fit at the time as it was the first framework I used to learn the MVC pattern and move to OOPHP. I was able to extend it so I could use the Twig templating system, use migrations for managing databases and it had a good performance footprint. The main drawback I found was when I was working on projects more complicated than standard websites and CMS's.
When EllisLab announced that it was seeking a new owner for CodeIgniter due to lack of resources I thought it was time for a change. I wanted a framework that could help me improve the applications I was building. I had tested Laravel 4.2 sometime earlier and was impressed, but at that point, it didn't feel like it was the right time to make the jump. I always heard great things about Laravel so decided to give it another go, then at version 5.1. After reading the documentation, looking through some of the features it supported I decided to make Laravel my primary framework.
Zoek; That’s interesting, I am sure a lot of developers will have a similar path, but what is it specifically that makes Laravel a good development tool?
Craig: I work a lot with start-ups, who all have a similar trait: they have a grand vision for their company but are looking to ship an MVP (minimum viable product) as quickly as possible. I need a framework which is easy to get up-and-running with each new project, has clear documentation, great community, allows me to develop efficiently and most importantly, can grow with the demands of the project.
I now find that I get to the point of developing the business logic of the applications much quicker than I used to do. The Eloquent ORM is a joy to use, the Blade templating engine I now prefer to Twig and the Database migrations, seeding and factories make developing and testing more efficient.
It has support for some great third party transactional email systems, file storage systems and different database implementations right out of the box as well.
Although not specifically unique to this framework, I do love the inbuilt support for VueJS. Jeffrey Way's fantastic Laravel Mix makes it very easy to get your front-end tooling setup for Webpack and VueJS (although it can be used in any project). I found that just by having the support for VueJS I have started to use it more and more in my projects, and now build my backend admin areas with a VueJS and Laravel as an API.
Zoek: If you are currently using another development framework, and you want to move into Laravel, where would developers new to Laravel start?
Craig: When I first moved to Laravel one the first things I did was to subscribe to Jeffrey Way's excellent Laracasts and watched the numerous guides they had on Laravel.
At the time I had always used a Vagrant virtual machine as my development box on my Mac. Recently however, I have made the switch to Laravel Valet. Valet makes it easier to get a Laravel project up-and-running. Once you have an install of Laravel running it's worth getting acquainted with its Artisan CLI which can help quicken the process for creating migrations, or resource controllers and other various handy little things.
When you're testing out a new framework, I always find it helpful to have a goal in mind for the test. For example, building a blog, or a to do app means there are a set number of features and requirements that have to be completed. You can then try out different ways of implementing the features, refactoring your code until your happy with the results.
Zoek: What happens if you get stuck when you’re starting out, with a piece of code or a problem you can’t solve?
Craig: You'll find Laravel has a very active Online community ready to help when the time arises. As you would imagine, StackOverflow already has an abundance of questions and people willing to help on the trickiest of problems. There's always conversations on Twitter and numerous Slack groups to join and an Annual Laracon.
Zoek: Thanks for your time Craig. I’m sure that this will be helpful to developers looking to start out in Laravel or for more experienced looking to change roles.
Craig Ward is the owner of a small agency called Think Optimised which specialises in helping small businesses and start-ups to launch their digital initiatives by using a build, measure, learn approach.