* Thus wrote Nigel Jones:
> I personally don't see anything wrong with it. It's actually better
> than any of my attempts to do templating.
There are a lot of things with the system, imo, i just stopped at
the point where I read:
eval('echo "'. template($foo) . '")');
all that evaluates to is a simple:
include(template_filename($foo));
Without the overhead of:
eval() - wich is know to be the slowest method to execute code
echo() - instead of php having to go and evaluate a string the
contents of the files are read directly to the browser
on an include.
template() - a function that goes out and builds a sting and pre
processes it (side note, Hypertext Preparsing)
The function.phps file has already been evalutate so I'll just
point out some of the points for that file.
- no need for the globals, use static for the $templatecache
and pass a parameter to the function template to be verbose or
not (aka $setting['debugtemplate'])
* this will provide for a cleaner and more isolated function.
- use isset($templatecache[$templatename]) instead
* prevents unnescesary E_NOTICE errors
- the use of file_get_contents is much prefered over opening a
file handle, etc. Althogh file_get_contents() requires >=
4.3.0, php should be upgraded anyway.
* file_get_contents is known to be much faster and efficient
than the other alternatives
- overuse of addslashes then stripping them down, using
str_replace with the first two parameters as array's to
specifiy what needs to get cleaned up.
* just too much overhead.
One major point that should be noted is that php *is* a templating
system already, so re-creating somthing like this is not really
necessary.
If caching is a desired thing, for starters the filesystem will
already do caching on recently accessed files, so OS level
optimizations can be done. Also you can use things like APC
(http://pecl.php.net/package/APC).
>
> BTW Curt: Check your clock/s, it seems to be a day out.
Thanks for the heads up on this.
Curt
--
Quoth the Raven, "Nevermore."
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php