On Thu, 2006-05-04 at 17:49 +0200, Dries Buytaert wrote:
Indeed, that is exactly why I suggest creating it as a completely separate engine. Though as I think on it, the current setup doesn't support running the same theme with multiple engines, that I'm aware of. I'm not actually sure.
The point of my original e-mail is that for such a system to be successful, it needs to be default. If theme_ functions remain the default fallback mechanism, we don't get the full advantage (eg. the modules and memory footprint won't go down) making it a lot less attractive. In fact, things would get worse, as we'd need to duplicate the theme_ functions as stand-alone templates (eg. creating maintenance overhead).
Hmm, you are right that having lots of files creates a different kind of maintenance problems. The pros, are all (or most) design related and the fact that php doesn't need to compile and keep in memory unused code. The cons, load/search times might increase. Maybe the maintenance overhead. Duplication will be a bad thing in any case. But again, the current theme_ functions are hard(ish) to maintain. Remember how long it took to get rid of the various accessibility and xhtml compatibity annoyances. If we have a robust caching solution, that essentially replicates the current fallback layout, for example something like the engine Earl suggests, we can go forward in both cases. My concern with that is that it requires an extra step. Another option is to go for a slow default. Weighted engines, with one of them a default. It could be the pure php thing, with only one .template file, or similar. And allow for custom speedups and caching.