From ef9e900fa1efae396d4c04f01f7409c8afa26560 Mon Sep 17 00:00:00 2001 From: mohrt Date: Wed, 11 Apr 2001 20:54:35 +0000 Subject: [PATCH] added RELEASE_NOTES file to cvs --- FAQ | 42 +++++++++++++++++++++++++----------------- QUICKSTART | 18 +++++++++--------- RELEASE_NOTES | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 69 insertions(+), 26 deletions(-) create mode 100644 RELEASE_NOTES diff --git a/FAQ b/FAQ index d7e4889d..7c09be26 100644 --- a/FAQ +++ b/FAQ @@ -25,17 +25,17 @@ A: Smarty reads the template files and creates PHP scripts from them. Once in Smarty for increased performance.) Q: Why can't I just use APC (or Zend Cache)? -A: Smarty and these cache solutions have nothing in common. What APC does is - caches compiled bytecode of your PHP scripts in shared memory or in a file. - This speeds up server response and saves the compilation step. Smarty - creates PHP scripts (which APC will cache nicely) and also has it's own - internal caching mechanism for the output of the template contents. For - example, if you have a template that requires several database queries, - Smarty can cache this output, saving the need to call the database every - time. APC cannot help you here. Smarty and APC (or Zend Cache) actually - complement each other nicely. If performance is of the utmost importance, we - would recommend using one of these with any PHP application, using Smarty or - not. +A: You certainly can. Smarty's cache and these cache solutions have nothing in + common. What APC does is caches compiled bytecode of your PHP scripts in + shared memory or in a file. This speeds up server response and saves the + compilation step. Smarty creates PHP scripts (which APC will cache nicely) + and also has it's own internal caching mechanism for the output of the + template contents. For example, if you have a template that requires several + database queries, Smarty can cache this output, saving the need to call the + database every time. APC cannot help you here. Smarty and APC (or Zend + Cache) actually complement each other nicely. If performance is of the + utmost importance, we would recommend using one of these with any PHP + application, using Smarty or not. Q: Is Smarty faster than ? A: It could be. One of the strengths of Smarty is that it does not need to @@ -50,11 +50,12 @@ A: It could be. One of the strengths of Smarty is that it does not need to templates. Q: How can I be sure to get the best performance from Smarty? -A Be sure you set $compile_check=false once your templates are initially - compiled. This will skip the unneeded step of traversing all of your template files on each hit. If you have complex pages that don't change too often, - turn on the caching engine and adjust your application so it doesn't do - unnecessary work (like db calls) if a cached page is available. See the - documentation for examples. +A: Be sure you set $compile_check=false once your templates are initially + compiled. This will skip the unneeded step of testing if the template has + changed since it was last compiled. If you have complex pages that don't + change too often, turn on the caching engine and adjust your application so + it doesn't do unnecessary work (like db calls) if a cached page is + available. See the documentation for examples. Q: Can I use Macromedia's Dreamweaver to edit my templates? A: Certainly. You might want to change your tag delimiters from {} to something @@ -115,8 +116,15 @@ Q: I'm running Windows 2000 and I get blank content. My compiled PHP files are A: There seems to be a problem with some W2k machines and exclusive file locking. Comment out the flock() call in _write_file to get around this, although be aware this could possibly cause a problem with simultaneous - writes to a file, especially with caching turned on. + writes to a file, especially with caching turned on. NOTE: As of Smarty + 1.4.0, a workaround was put in place that should solve this. Q: The template goes into an infinite loop when I include included templates that pass local variables A: This was fixed in 1.3.2 (new global attribute) + +Q: How can I tell what compiled template file corresponds to to which source + file? (Smarty 1.4.0 and later have encoded compiled filenames) +A: Compiled template files have headers that tell which source file was used to + compile it. cd into the compile_dir and type "head -2 *" to see the first + two lines of each compiled file. diff --git a/QUICKSTART b/QUICKSTART index d4d1bf70..e4008ef6 100644 --- a/QUICKSTART +++ b/QUICKSTART @@ -7,17 +7,17 @@ will work for you. We make a few assumptions here, such as you already have PHP installed on your web server, you know the basics of unix file permissions, the basics of PHP and -how it works, etc. If you are using Smarty in a non-unix environment, you should -understand the difference in your OS regarding file permissions. +how it works, etc. If you are using Smarty in a non-unix environment, you +should understand the difference in your OS regarding file permissions. INSTALLATION ------------ -Unpack the Smarty tarball. You will see fou: class files: Smarty.class.php, -Smarty.addons.php, Smarty_Compiler.class.php and Config_File.class.php. You will -need to have all three of these files somewhere in your PHP include path, so when -you call require("Smarty.class.php") from within your application, it can find the -class. +Unpack the Smarty tarball. You will see four class files: Smarty.class.php, +Smarty.addons.php, Smarty_Compiler.class.php and Config_File.class.php. You +will need to have all three of these files somewhere in your PHP include path, +so when you call require("Smarty.class.php") from within your application, it +can find the class. Smarty uses the PEAR libraries for some of its error handling routines. PEAR libraries come with the distribution of PHP. Be sure that the path to these @@ -99,8 +99,8 @@ script which you can take a look at in the templates_c directory. Smarty will continue to use this compiled script until the index.tpl file is changed, then it will automatically recompile. What this means for you: forget about the templates_c directory. Out of sight, out of mind. You don't need to worry about -it, Smarty takes care of this technical stuff. Out of curiosity, you can see how -your templates look as compiled php scripts, but please don't touch them! +it, Smarty takes care of this technical stuff. Out of curiosity, you can see +how your templates look as compiled php scripts, but please don't edit them! Now that we have Smarty functioning properly, let's get into the guts of Smarty and learn what thing is all about. I'll try to briefly show examples to cover diff --git a/RELEASE_NOTES b/RELEASE_NOTES new file mode 100644 index 00000000..9860b58c --- /dev/null +++ b/RELEASE_NOTES @@ -0,0 +1,35 @@ +1.4.0 +----- + +The most significant change to Smarty 1.4.0 is the parse engine. Instead of +compiling all the templates up front, it now compiles them at runtime. This has +several advantages. First off, there is no longer a need to have a single +template directory. You can now have arbitrary template sources, such as +multiple directories or even database calls. This also speeds the performance +of Smarty when $compile_check is enabled, since it is only checking the +template that is being executed instead of everything found in the template +directory. The $tpl_file_ext variable was removed since this is no longer +needed, so templates can be named anything you like with any extension. Smarty +makes use of the PEAR database abstraction class for obtaining templates from +databases. Now aren't you glad we require PEAR :-) + +We also added a workaround for LOCK_EX on windows systems, and change a couple +of file permissions for better security on public servers. Thanks goes to +Fernando Nunes for his code contributions. + +date_format, html_select_date and html_select_time used to require a unix +timestamp as the format of the date passed into the template. Smarty is now a +bit smarter at this. It will take a unix timestamp, a mysql timestamp, or any +date string that is parsable by strtotime, such as 10/01/2001 or 2001-10-01, +etc. Just give it a try and see what works. + +When upgrading to 1.4.0, you will want to first clear out all your files in the +$compile_dir, since it now uses a new format. Since templates can come from any +source, the compiled versions have encoded names. Each file has a comment at +the top that states which resource was used as the source file. In unix, "head +-2 *" shows the first two lines of each file. If you have $compile_check set to +false and the compiled template does not yet exist, it will compile it +regardless of this setting. Once it is compiled though, it will not check to +see if recompilation is necessary. + +-Monte