If you're writing a framework, I recommend you stop. Right now. Go do some sports, read a book, enjoy the world. Come back and then use an existing one, or none at all, just use a programming language.

When dealing with a large codebase, or any codebase really, debug log files can get pretty detailed. I made the mistake of not separating my log entries into degrees of importance with a switch in some settings file, so I basically have logging enabled or disabled. When logging is disabled pages render between 8 and 35 ms, when enabled pages can take up to 500 ms.

Generating XML is easy to get wrong. Unescaped entities, mismatched tags, Unicode characters create a minefield for a developer. XHTML is a subset of XML so the same rules apply, however I've noticed not many "web frameworks" generate guaranteed pure XHTML.

I'm lazy. I like a complete separation of back-end code and front end styling - logic in the back end, styling for front end. There are many templating solutions floating around, but most put code in with markup. Fortunately, we have a templating solution which most web developers already know... XSL.