This recent post from i>Lior Messinger looks at five frameworks he considers absolutely necessary for every software developer out there:
If you are an architect with a team of developers, or one developer with a team of managers, here's a list of a set of modules, frameworks and strategies you should have in mind. Not all of them would necessarily apply to you, but if I were you, I would at least think about each one. So if you are starting a new project - lucky you - from scratch, or coming to an old project with a mandate for change, here's a small checklist.
The five types are:
- a good ORM (Object Relational Mapping) layer
- a tiered framework (splitting out interface, business and database logic layers)
- a event-based framework
- a caching framework (or some form of easy-to-use caching)
- an error/tracing framework
Some frameworks, like the Zend Framework, come with most of these already built in, reducing the need for more than one sort of technology stack.