Well, the old one used the following "hack" for the template evals:
eval('$navbar = include("templates/1234.php");');
And that only for larger templates. Smaller ones (default setting 4500 bytes I think) were still executed the old way (even if stored in a file).
This one, however, takes a different approach.
eval('$navbar = template_1234($spacer_open, $stylevar, $GLOBALS, $welcomeheaders)');
All templates are parsed and stored in functions, and all "template function" for one page are stored in a file.
So basically all eval()s only execute a function call. This means all eval calls are nearly completely avoided, and there is just one file for every page. The files aren't too big on disk (40-100kb) but up to 2.5mb in xcache which isn't an issue though so far (I think this is because vB compiles all templates as one very long string with <if> calls being ternary conditionals).
|