Imagine what a disaster it would be if every rails app had it's own slightly modified version of rails.
I think a more appropriate analogy would be: what if there were 20 or 30 popular frameworks for building apps on Rails?
The bits that provide the consistency between Rails apps (ie. how requests get mapped to controllers, how arguments get passed into the application from the query string and how a response gets to the browser) are there in PHP already. You don't need a framework to know how PHP does those things.
It's quite painful to come across a PHP application which does these things using some sort of PHP framework you've never heard of. Even though you know how simple what's really going on is (ie. some web request is being processed, a response written and optionally some data loaded from a database or other source in between) you have to trawl through reams of documentation to find out what little spin this framework has put onto it.
I think a more appropriate analogy would be: what if there were 20 or 30 popular frameworks for building apps on Rails?
The bits that provide the consistency between Rails apps (ie. how requests get mapped to controllers, how arguments get passed into the application from the query string and how a response gets to the browser) are there in PHP already. You don't need a framework to know how PHP does those things.
It's quite painful to come across a PHP application which does these things using some sort of PHP framework you've never heard of. Even though you know how simple what's really going on is (ie. some web request is being processed, a response written and optionally some data loaded from a database or other source in between) you have to trawl through reams of documentation to find out what little spin this framework has put onto it.