I've converted the MonoBook template to a PHP function which doesn't
require PHPTAL. This has a few advantages:
* Since it doesn't need to store a compiled template, this should
greatly reduce the amount of problem reports we get due to unwritable
temp directories, safe mode oddities, etc.
* We won't need to bundle a second version of PHPTAL for PHP 5 support:
the pure PHP version works on both PHP 4 and PHP 5.
* We can save a few hundred kb from the distribution by removing the
bundled PHPTAL and PEAR core. Since we're adding a crapload of support
data files for Unicode and Chinese script conversion, this is nice.
* No one could read the template code anyway, why not make it uglier? ;)
In my crude tests, loads of a short wiki page with the PHP version are
5% faster than the PHPTAL version on PHP 5.0.2 with a PHPTAL 1.0.0 dev
snapshot (no accelerator/opcode cache). This is probably due to time
spent loading up PHPTAL and PEAR include files rather than the
execution of the compiled template.
The new SkinTemplate.php is a slightly altered version of the prior
SkinPHPTal.php; it does pretty much all the same stuff, but sends it to
a different final output path. The new SkinPHPTal.php now inherits that
code and interfaces to either PHPTAL 0.7 (on PHP 4) or 1.0 (on PHP 5).
So, if you want to make a new custom PHPTAL-based skin it can still be
done.
-- brion vibber (brion @
pobox.com)