Bye bye Zend Framework. Hello Laravel!

I like Zend Framework 1. Forms are a little awkward, but have robust validation and reasonable formatting options. Plug-ins and helpers are a bit of a pain, as there seems to be several different approaches/conventions depending on what kind of plug-in you are using. Zend_Pdf rocks, as does the auto-WSDL generation.

Zend Framework 2 is a good framework. I say this based on having attended the very first public Zend Framework 2 training in 2012, having sat through several ZF2 sessions at ZendCon2012 and having also spoken to Matthew (the project lead) and a few other contributors about the design philosophy and approaches used in ZF2. It is a well-engineered framework that definitely fits in well with Zend’s product range and overall strategy.

And yet, despite all that, I will probably never use ZF2.

Because I have discovered Laravel.

And Laravel rocks!

Well, it rocks for me anyway. My recent projects have required rapid development of some new web front-ends to existing databases, with old requirements changing and new requirements emerging during the course of each project. Using a combination of Laravel and Bootstrap I have been able to produce responsive pages with beautifully formatted, standards-compliant HTML very quickly. The views are easy to read (layouts and partials are very simple), the forms are clear and easy to validate and the database access is very streamlined.

If you’re an OO purist, you might want to steer clear of Laravel. It makes much use of supposedly evil statics and does some other trickery to keep the syntax nice and clear. If OO idealism is your thing, use ZF2 instead. ZF2 is a really good example of great object-oriented design and programming, which, as well as being one of its strengths, is also, in my opinion, its Achilles heel, as the investment required up-front to learn the framework is much, much larger than Laravel. And, more importantly, the amount of time it will take the average developer to become proficient with ZF2, such that they can rapidly adapt their project to changing requirements and identify and rectify problems quickly, will be much, much longer than with Laravel.

I’m currently using Laravel 3, which still seems to be getting some love on github. Laravel 4 is in beta and is scheduled for realease some time this month, so if you’re about to make the jump to Laravel, I would probably recommend jumping straight on the Laravel 4 bandwagon.

Yet Another Programming Blog

Where James Gordon rambles about PHP and web development in general.

Find me on Twitter Find me on Stack Exchange Find me on Github Subscribe