| Current Path : /var/www/html/mmishra/irp/mcell/FastTemplate/ |
| Current File : /var/www/html/mmishra/irp/mcell/FastTemplate/CHANGELOG |
CHANGELOG class.FastTemplate.php3 Current Version: 1.1.0 Jun 27 1999 13:32:00 CDI, cdi@thewebmasters.net ================================== 1.1.0 Changes: Jun 27 1999 13:32:00 This is a major update. Version jump due to finally getting my code converted over to CVS. Added clear_dynamic(): Ran into a few instances where a dynamic block was not going to be used, so now there's a way to remove it from a template. Added get_assigned(): Christian Brandel cbrandel@gmx.de Returns the value of a variable previously set using assign(), if any. Modified FastPrint(): FastPrint would have been an illegal construct in PHP4/Zend. Fixed. Personal Note: I don't have access to the PHP4 beta even though I've asked repeatedly, so pardon me if I get a bit irritated when I'm told that what I write would be a "Bug" in something that doesn't exist yet, I don't have access to, isn't in public use yet, and I can't test my code against. The next PHP4 Beta user that sends me a "bug report" had better be wearing asbestos underwear. Modified assign(): (numerous) You can now assign(BLAH,"") and get away with it. (Empty values for a key outside of an array context) Modified is_safe(): It now just checks to be sure the template file exists. All of the other file checks have been ditched. (Speed speed speed, that's all I want damn it! :) Modified set_root(): I ditched the regexes used here in favor of substr() and ord() and chr() calls. It's faster and much more accurate. See below as to why this was done. Modified get_template(): Speed tweek. implode( file() ) is faster than the combined fopen(), fread( filesize() ), fclose() **************************************************** **** WARNING WARNING WARNING WARNING WARNING **** **** POSSIBLE CONFLICT IN OLDER TEMPLATES **** **************************************************** Modified parse_dynamic(): Chad Cunningham, ccunning@math.ohio-state.edu Now allows arbitrary whitespace before and after the beginning of the <!-- BEGIN DYNAMIC BLOCK tags. This may cause problems in existing templates! The only allowed text on the line is the BEGIN and END syntax! If there's =anything= else on the line other than whitespace, it'll fail. Modified (template wide) regex use: I went on a regex rampage. Regular Expressions are expensive and the more you use them the slower your program becomes. I've been weak and have been using regular expressions where they really weren't needed. To increase processing speed, whenever possible, all regular expressions have been ditched. This affects set_root, parse_dynamic, clear_dynamic, and parse. (Basically, all the routines that make this class work :-) The major change was in the parse_dynamic() routine. This used two regular expressions for every line of every template. That was way too expensive. Those two regex calls have since been replaced with a single trim() on each line of the template. This greatly increases dynamic template parsing speed. The crude benchmark I set up shows that the change was definitely worth it, with 10% to 20% speed increases. Removed a few useless escapes from most of the regex's. (numerous) Once again, I tried to replace as many regexes as possible with str_replace(). Once again, no matter what build I use, str_replace randomly core dumps the httpd process. (3.0.0, 3.0.5, 3.0.6, 3.0.7) I left the lines there, just search for str_replace in the code and change the comments if you want to try using str_replace. I'd love to hear if someone has a build of PHP where this doesn't core dump Apache. ================================== 0.8 Changes: Apr 03 1999 08:00:00 Maintenance released. Fixed a few typos that snuck into the last revision. (Mostly in areas I couldn't test, like WIN32 stuff) ================================== 0.7 Changes: Added define_dynamic() and parse_dynamic(). (parse_dynamic() is an internal method, if you call it you bought it.) See the man page for more information on define_dynamic(). ================================== 0.6 Changes: (never released) Fixed a minor bug in the set_root() when used on a WIN32 box. Removed most of the fatal exits from calls to error(). The class will only exit if the get_template() method fails to load a template file. ================================== 0.5 Initial Public Release 1999/21/01 19:09:00