My initial thought would be “god no”, however there are some benefits to working without one.
The biggest advantage to what I’ll call stray code, without any form of framework is its easy to add to, anyone can jump in and work on it without needing too much experience of how the code works. Pages can run separately from each other without any issues however this does itself lead to some issues. Is all the code constant? Answer… probably not.
One thing I notice, the more time I spend working with frameworks, is framework lock-in. What I mean by this, is once you’ve written the code for one specific framework, it isn’t re-usable in another due to specific modules and objects that have been used within that code.
Having a framework and suitable documentation does make it easy for any competent programmer to jump in and work, more so if a large known framework is used, for example Zend Framework, Symphony etc. These also can be requirements for knowledge when employing new staff.
As someone who spends all day using a custom made framework, when the requirement comes to write none framework code, I really have to think about it. Database calls, yep… I’ve got an object for that, I now have to think about mysql_* calls for example.
What becomes a better solution, rather than a framework, is a collection of libraries. These are code blocks / objects that can easily be swapped out without interfering with the running of the code.
While I can see the problems frameworks generate, it doesn’t at all mean I’m going to drop using them – they do save a lot of time for development, however I can see issues that do arise from their use.