Since producing the big list of PHP frameworks I have been contacted privately by email and the issue has been raised by David in the comments. Why so many frameworks for PHP? Python has a few, and Ruby has 2 of its main frameworks merging. PHP has at least 50 active public frameworks with a vast unknown number of in house frameworks. It has been suggested this is a waste of resources and that 1 good framework is all that is needed.
To be upfront, I have my own framework. Maybe not a framework, but more of a general code structure with less than 10 classes to handle views, routing and other general logic. It works for me, and I would use it in most small to medium projects. However I have kept it private from the outside world.
So why so many?
PHP is flexible
There are many ways to achieve an outcome in PHP. The language does not impose a structure or enforce a programming style (object orientated, procedural etc). And many of these frameworks are the same. Trying to solve problems in different ways. The flips side is that in cases, a particular framework may be completely wrong for a given project.
Ego is not a dirty word
Programmers have egos. Having your own framework with many users is the peer adulation they may get in the outside world.
Rite of passage
How better to prove you are the best, by doing it all over again from scratch, but this time you will get it right where everyone else went wrong.
Some frameworks are run tightly by a controlling few or a company. Others are a very loose collective. Some run to to tight schedules with very regular releases, others may not make a release in a year. This is good. Professionally I prefer a stable release that is not 4 releases behind within 12 months, but others like to live on the bleeding edge.
No individual or company has all the best ideas or programmers. Most new frameworks will crash and burn, but some will do things better, and these innovation will be taken up by others. And it is only through new ideas and methods that frameworks improve. However a new ideas does not need its own framework, but they may have found that integration into an existing framework was not welcomed or possible.
Getting started using an existing framework can be the hardest task. Some are well supported with tutorials, books, forums and mailing lists. Others are little more than an auto generated api document. The frameworks with the larger user base tend to have the best support structure and some would argue this is because they have the most users to do tasks like documentation and answer questions. However it may be that a better support structure upfront gathers in greater numbers of users.
The tone of the community can also lead to failure. A user would like to have their opinions and ideas given some value or their question a helpful answer. Else they will get frustrated and move on to another framework, fork that framework or even try and start their own.
So are too many frameworks really a problem, and if so what can be done about it?