| 
									
										
										
										
											2004-04-13 11:47:32 +00:00
										 |  |  | <?xml version="1.0" encoding="iso-8859-1"?> | 
					
						
							|  |  |  | <!-- $Revision$ --> | 
					
						
							| 
									
										
										
										
											2004-04-18 19:22:55 +00:00
										 |  |  | <refentry id="api.is.cached"> | 
					
						
							|  |  |  |  <refnamediv> | 
					
						
							| 
									
										
										
										
											2005-05-27 16:25:02 +00:00
										 |  |  |   <refname>is_cached()</refname> | 
					
						
							|  |  |  |   <refpurpose>returns true if there is a valid cache for this template</refpurpose> | 
					
						
							| 
									
										
										
										
											2004-04-18 19:22:55 +00:00
										 |  |  |  </refnamediv> | 
					
						
							|  |  |  |  <refsect1> | 
					
						
							| 
									
										
										
										
											2005-05-27 16:25:02 +00:00
										 |  |  |   <title>Description</title> | 
					
						
							| 
									
										
										
										
											2004-04-18 19:22:55 +00:00
										 |  |  |   <methodsynopsis> | 
					
						
							|  |  |  |    <type>bool</type><methodname>is_cached</methodname> | 
					
						
							|  |  |  |    <methodparam><type>string</type><parameter>template</parameter></methodparam> | 
					
						
							|  |  |  |    <methodparam choice="opt"><type>string</type><parameter>cache_id</parameter></methodparam> | 
					
						
							| 
									
										
										
										
											2005-05-27 16:25:02 +00:00
										 |  |  |    <methodparam choice="opt"><type>string</type><parameter>compile_id</parameter> | 
					
						
							|  |  |  |    </methodparam> | 
					
						
							| 
									
										
										
										
											2004-04-18 19:22:55 +00:00
										 |  |  |   </methodsynopsis> | 
					
						
							| 
									
										
										
										
											2006-09-26 23:29:02 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   <itemizedlist> | 
					
						
							|  |  |  |   <listitem><para> | 
					
						
							|  |  |  |    This only works if <link linkend="variable.caching"> | 
					
						
							|  |  |  |    <parameter>$caching</parameter></link> is set to &true;, see the | 
					
						
							|  |  |  |    <link linkend="caching">caching section</link> for more info. | 
					
						
							|  |  |  |   </para></listitem> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <listitem><para> | 
					
						
							|  |  |  |    You can also pass a <parameter>$cache_id</parameter> as an optional second | 
					
						
							|  |  |  |    parameter in case you want | 
					
						
							|  |  |  |    <link linkend="caching.multiple.caches">multiple caches</link> | 
					
						
							|  |  |  |    for the given template. | 
					
						
							|  |  |  |   </para></listitem> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   <listitem><para> | 
					
						
							|  |  |  |    You can supply a | 
					
						
							|  |  |  |    <link linkend="variable.compile.id"><parameter>$compile id</parameter></link> | 
					
						
							|  |  |  |    as an optional third parameter. If you omit that parameter the persistent | 
					
						
							|  |  |  |    <link linkend="variable.compile.id"> | 
					
						
							|  |  |  |    <parameter>$compile_id</parameter></link> is used if its set. | 
					
						
							|  |  |  |   </para></listitem> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   <listitem><para> | 
					
						
							|  |  |  |    If you do not want to pass a <parameter>$cache_id</parameter> but want to | 
					
						
							|  |  |  |    pass a <link linkend="variable.compile.id"> | 
					
						
							|  |  |  |    <parameter>$compile_id</parameter></link> you have to pass | 
					
						
							|  |  |  |    &null; as a <parameter>$cache_id</parameter>. | 
					
						
							|  |  |  |   </para></listitem> | 
					
						
							|  |  |  |   </itemizedlist> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   <note> | 
					
						
							|  |  |  |   <title>Technical Note</title> | 
					
						
							| 
									
										
										
										
											2004-04-18 19:22:55 +00:00
										 |  |  |   <para> | 
					
						
							| 
									
										
										
										
											2006-09-26 23:29:02 +00:00
										 |  |  |    If <varname>is_cached()</varname> returns &true; it actually loads the | 
					
						
							|  |  |  |    cached output and stores it internally. Any subsequent call to | 
					
						
							|  |  |  |    <link linkend="api.display"><varname>display()</varname></link> or | 
					
						
							|  |  |  |    <link linkend="api.fetch"><varname>fetch()</varname></link> | 
					
						
							|  |  |  |    will return this internally stored output and does not try to reload | 
					
						
							|  |  |  |    the cache file. This prevents a race condition that may occur when a | 
					
						
							|  |  |  |    second process clears the cache between the calls to | 
					
						
							|  |  |  |    <varname>is_cached()</varname> and to | 
					
						
							|  |  |  |    <link linkend="api.display"><varname>display()</varname></link> | 
					
						
							|  |  |  |    in the example above. This also means calls to | 
					
						
							|  |  |  |    <link linkend="api.clear.cache"><varname>clear_cache()</varname></link> | 
					
						
							|  |  |  |    and other changes of the cache-settings may have no effect after | 
					
						
							|  |  |  |    <varname>is_cached()</varname> returned &true;. | 
					
						
							| 
									
										
										
										
											2004-04-18 19:22:55 +00:00
										 |  |  |   </para> | 
					
						
							| 
									
										
										
										
											2006-09-26 23:29:02 +00:00
										 |  |  |   </note> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-04-18 19:22:55 +00:00
										 |  |  |   <example> | 
					
						
							| 
									
										
										
										
											2005-05-27 16:25:02 +00:00
										 |  |  |    <title>is_cached()</title> | 
					
						
							| 
									
										
										
										
											2004-04-18 19:22:55 +00:00
										 |  |  |    <programlisting role="php"> | 
					
						
							| 
									
										
										
										
											2004-04-13 11:47:32 +00:00
										 |  |  | <![CDATA[ | 
					
						
							|  |  |  | <?php | 
					
						
							|  |  |  | $smarty->caching = true; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-05-27 16:25:02 +00:00
										 |  |  | if(!$smarty->is_cached('index.tpl')) { | 
					
						
							| 
									
										
										
										
											2004-04-18 19:22:55 +00:00
										 |  |  | // do database calls, assign vars here | 
					
						
							| 
									
										
										
										
											2004-04-13 11:47:32 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-05-27 16:25:02 +00:00
										 |  |  | $smarty->display('index.tpl'); | 
					
						
							| 
									
										
										
										
											2004-04-13 11:47:32 +00:00
										 |  |  | ?> | 
					
						
							|  |  |  | ]]> | 
					
						
							| 
									
										
										
										
											2004-04-18 19:22:55 +00:00
										 |  |  |    </programlisting> | 
					
						
							|  |  |  |   </example> | 
					
						
							| 
									
										
										
										
											2006-09-26 23:29:02 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-04-18 19:22:55 +00:00
										 |  |  |   <example> | 
					
						
							| 
									
										
										
										
											2005-05-27 16:25:02 +00:00
										 |  |  |    <title>is_cached() with multiple-cache template</title> | 
					
						
							| 
									
										
										
										
											2004-04-18 19:22:55 +00:00
										 |  |  |    <programlisting role="php"> | 
					
						
							| 
									
										
										
										
											2004-04-13 11:47:32 +00:00
										 |  |  | <![CDATA[ | 
					
						
							|  |  |  | <?php | 
					
						
							|  |  |  | $smarty->caching = true; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-05-27 16:25:02 +00:00
										 |  |  | if(!$smarty->is_cached('index.tpl', 'FrontPage')) { | 
					
						
							| 
									
										
										
										
											2004-04-18 19:22:55 +00:00
										 |  |  |   // do database calls, assign vars here | 
					
						
							| 
									
										
										
										
											2004-04-13 11:47:32 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-05-27 16:25:02 +00:00
										 |  |  | $smarty->display('index.tpl', 'FrontPage'); | 
					
						
							| 
									
										
										
										
											2004-04-13 11:47:32 +00:00
										 |  |  | ?> | 
					
						
							|  |  |  | ]]> | 
					
						
							| 
									
										
										
										
											2004-04-18 19:22:55 +00:00
										 |  |  |    </programlisting> | 
					
						
							|  |  |  |   </example> | 
					
						
							| 
									
										
										
										
											2004-07-02 08:33:32 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-05-27 16:25:02 +00:00
										 |  |  |     <para> | 
					
						
							|  |  |  |     See also | 
					
						
							| 
									
										
										
										
											2006-09-26 23:29:02 +00:00
										 |  |  |     <link linkend="api.clear.cache"><varname>clear_cache()</varname></link>, | 
					
						
							|  |  |  |     <link linkend="api.clear.all.cache"><varname>clear_all_cache()</varname></link>, | 
					
						
							| 
									
										
										
										
											2005-05-27 16:25:02 +00:00
										 |  |  |     and | 
					
						
							|  |  |  |     <link linkend="caching">caching section</link>. | 
					
						
							|  |  |  |   </para> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-04-18 19:22:55 +00:00
										 |  |  |  </refsect1> | 
					
						
							|  |  |  | </refentry> | 
					
						
							| 
									
										
										
										
											2004-04-13 11:47:32 +00:00
										 |  |  | <!-- Keep this comment at the end of the file
 | 
					
						
							|  |  |  | Local variables: | 
					
						
							|  |  |  | mode: sgml | 
					
						
							|  |  |  | sgml-omittag:t | 
					
						
							|  |  |  | sgml-shorttag:t | 
					
						
							|  |  |  | sgml-minimize-attributes:nil | 
					
						
							|  |  |  | sgml-always-quote-attributes:t | 
					
						
							|  |  |  | sgml-indent-step:1 | 
					
						
							|  |  |  | sgml-indent-data:t | 
					
						
							|  |  |  | indent-tabs-mode:nil | 
					
						
							|  |  |  | sgml-parent-document:nil | 
					
						
							|  |  |  | sgml-default-dtd-file:"../../../../manual.ced" | 
					
						
							|  |  |  | sgml-exposed-tags:nil | 
					
						
							|  |  |  | sgml-local-catalogs:nil | 
					
						
							|  |  |  | sgml-local-ecat-files:nil | 
					
						
							|  |  |  | End: | 
					
						
							|  |  |  | vim600: syn=xml fen fdm=syntax fdl=2 si | 
					
						
							|  |  |  | vim: et tw=78 syn=sgml | 
					
						
							|  |  |  | vi: ts=1 sw=1 | 
					
						
							| 
									
										
										
										
											2004-04-18 19:22:55 +00:00
										 |  |  | --> | 
					
						
							| 
									
										
										
										
											2005-05-27 16:25:02 +00:00
										 |  |  | 
 |