After using Laravel 4 for an internal company tool I have a hard time recommending it (sadly, I was hopeful). I found the docs to be uneven in quality/scope, some key features (mostly around the ORM) missing and the 'feel' to be slightly off.
It's hard to quantify, but I have used CakePHP, Yii, Rails (0.9 through 4), Django and plenty of home-grown 'frameworks'. From all those the most cohesive and understandable to me was Rails followed by Yii (surprisingly).
Maybe it's the docs or structure, but Rails and Yii have a strong opinion and it seems their developers have both CS smarts and industry experience, which shows in the structure and code.
I'm sure in time Laravel will mature and improve. Currently it just feels like there's a lot more hype than it merits.
It strikes me as a project that should've been an internal framework, not a public one. Too many things break and change constantly. Rapid release cycles is a good thing for smaller libraries with specific tasks, but I expect a framework to remain largely unchanged (except bugfixes, of course) for longer periods of time.
Unless Taylor gives away control of the project, I don't see it happening. It'll keep being a popular framework, though.
As a Core developer of CakePHP, I'll tell you that the community at large loves major releases more than they like stability. Something about using the newest toy really gets a lot of people going. We actually have had quite a few developers tell us our framework is dead, despite ongoing development on a new major release and monthly minor/patch releases for the current stable line for 3+ years.
I can't comment on Laravel though, as my only experience with it was a negative one. I had a rejected bugfix for which Taylor decided to ignore the PHP documentation I linked to verifying the issue, and several other developers saying they have experienced the issue/would like to see my PR merged in.
I think it'll stay a popular PHP framework until the next popular framework comes around (CI => FuelPHP => Laravel).
The vocal community is likely in the realm of 5-10% of the actual active userbase. You should cater to most of your users, not just the bored ones.
Your framework is dead because you've continued to prove that you don't understand what PHP 5.3+ is and means. I say that as someone who has been forced to use CakePHP for ~10 years. You've always lagged far behind in the concepts that other frameworks have down pat.
I just tried to two days ago and did a complete project with it. Auth, CRUD, file management, etc. It's an instant love for me. Docs is mostly ok, Google provides instant answers. I'm happy to ditch CodeIgniter for this.
I spent two days just trying to get the thing installed and gave up. Kept hitting a snag somewhere. Such a bummer because I was excited about using it.
In my experience people who love Laravel are typically CI or WP refugees. I am yet to encounter a single person who has switched from Symfony2 or ZF2 to Laravel and liked what they saw.
Totally agree. I think that Symfony2 is a pain in the ass.
Laravel lets you have something working really fast. Then you can improve the code later on.
Agreed, Symfony2 is great, but I see it being used more in an open source project capacity. Working on it at a company where time frames are key, rapid development is huge. Plus, laravel is far more intuitive and I can ramp up new team members much faster.
I don't see how Laravel lends itself to "rapid prototyping" than any other framework. Sure, Symfony2 or ZF2 has best practices on how to do things, but at the end of the day it's just MVC - you can skip any best practice you want to just get something done. This isn't unique to Laravel.
It's less verbose than Symfony2 and, being pretty opinionated, requires much less configuration for new applications.
Facades, macros and route closures supports rapid prototyping and are pretty easy to replace as needed. Included libraries like Flysystem, Cashier, Elixir and the new cron wrapper also eases rapid development.
There are also a few tools around it, like Homestead and Forge, that makes it easy to set something up quickly.
It's not like you can't do rapid prototyping with other frameworks, but Laravel, to me, is the first PHP framework that actively supports it while providing a flexible enough structure to grow in.
I think it tends to do with the marketing. Lots of hand-holding walk-through tutorials and help people get "rapid" prototyping with laravel, moreso than the actual code itself. And, to an extent, when you present yourself as being good for "rapid dev", that's what people will associate with the framework. (by comparison, zf has never promoted itself as allowing for rapid development, AFAIK).
What could be those ORM features that you're missing? I've been working with Laravel 4 since before it had documentation when I had to go through all of the code to understand how it works and I know that besides what is described in documentation - there's a number of features that are available, but not listed.
Never had any problems with Eloquent relations and querying on them. I find them very powerful.
Yes, they aren't done in a single query format - which should be a problem since it may be faster just to do two simple queries then one complex.
Besides that relations could be eager loaded for when you have number of items in first query and want to load relations to all of them. With eager loading you won't have problems with N + 1 queries.
It's hard to quantify, but I have used CakePHP, Yii, Rails (0.9 through 4), Django and plenty of home-grown 'frameworks'. From all those the most cohesive and understandable to me was Rails followed by Yii (surprisingly).
Maybe it's the docs or structure, but Rails and Yii have a strong opinion and it seems their developers have both CS smarts and industry experience, which shows in the structure and code.
I'm sure in time Laravel will mature and improve. Currently it just feels like there's a lot more hype than it merits.