added RELEASE_NOTES file to cvs

This commit is contained in:
mohrt
2001-04-11 20:54:35 +00:00
parent a033cd24d6
commit ef9e900fa1
3 changed files with 69 additions and 26 deletions

42
FAQ
View File

@@ -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 <http://apc.communityconnect.com/> (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 <insert other PHP template engine>?
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.

View File

@@ -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

35
RELEASE_NOTES Normal file
View File

@@ -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