Regardless, a framework is a way to jump-start someone in developing for a given language. Honestly, I've taught at least 5 developers PHP in about half the time it would normally take using a framework than without. The same applies to any other language.
It's easy to write your own framework, but I can almost guarantee you that it will have more bugs than any of the larger, open source frameworks out there. They may have their chinks, but those get largely fixed and tend to benefit the most people. Using a well-known, and well-tested, framework means you have access to a greater pool of developers, and they don't have to learn the idiosyncracies of something you've written because you could.
And while I am in the process of writing my own framework (see https://github.com/josegonzalez/git-php), I still prefer using someone else's framework. It's nice to be shown other ways of doing things.
"If you know LANGUAGE well, it's almost as efficient--possibly moreso--to program your own minimal ARCHITECTURE framework. LANGUAGE has so much of what you need done for you that only an efficient IMPORTANT_DETAIL is a bit tricky."
I think you can definitely guarantee it :). Before stopping dev work on Uno I ran into plenty of bugs that I didn't anticipate that would have been quickly weeded out by a bigger community. Many times I realized, "oh, this is why all the frameworks do it that way", only after doing things a way I thought was "simpler".
> "If you know LANGUAGE well, it's almost as efficient--possibly moreso--to program your own minimal ARCHITECTURE framework. LANGUAGE has so much of what you need done for you that only an efficient IMPORTANT_DETAIL is a bit tricky."
Good point. I do think PHP is a bit unique though in the respect that many people argue that PHP itself is a framework/architecure for web apps. But I largely agree with everything you've said.
I tend to disagree. As a PHP developer, and in charge of hiring and interviewing other PHP developer, I all too often see what I refer to as "CakePHP developers" or "CodeIgniter developers". It's one thing to know how to use the various frameworks, and even have a personal preference - but when too many people are only aware how to accomplish things using one of those frameworks, it gets downright scary. It's almost as infuriating as getting code samples that are basic extensions of Zend classes...
In the end I want a developer to get their work done - and if a framework helps - great - but they also need to know their way around the language without needing that crutch.
As far as only knowing the framework, you are preaching to the choir. I regularly give support to people in IRC who forget you can actually write regular PHP code - Reflection class, closures, etc. - in CakePHP. Sometimes even OOP.
A framework gives you structure. Good developers go back and fill in the blanks on the language. Bad developers don't need a framework to be bad, they would give you horrible code samples regardless.
PHP makes the need for a framework minimal. Cake is neat but overkill in a lot of ways unless you happen to be one of the developers of Cake and know it inside and out. Same goes with Kohana, CodeIgniter, etc.
If you know PHP well, it's almost as efficient--possibly moreso--to program your own minimal MVC framework. PHP has so much of what you need done for you that only an efficient ORM is a bit tricky.
You're not going to have the widespread adoption of your framework that Rails enjoys. This is because Rails increases the utility of Ruby for webapps by a factor of 10x while your PHP framework improves PHP for web apps about 2x.
BUT, if you are using PHP you might as well write your own internal framework because it's a fun programming exercise and will take you only a little longer than mastering someone else's.
I went down the same path(created my own minimal php framework called uno a while back), though if I'm doing MVC apps nowadays it's almost always using Rails. Rails has the advantage of loads of great devs that know it. Also, once I learnt Rails well I grew to depend on certain features that I just didn't want to emulate in Uno.