Files
smarty/docs/it/programmers/caching/caching-groups.xml

84 lines
3.1 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<sect1 id="caching.groups">
<title>Gruppi di Cache</title>
<para>
Potete raggruppare le cache in modo più elaborato impostando gruppi
di cache_id. Per fare questo separate ogni sottogruppo con una barra
verticale "|" nel valore di cache_id. Potete usare tutti i sottogruppi
che volete.
</para>
<para>
Potete pensare ai gruppi di cche come ad una gerarchia di directory.
Ad esempio, un gruppo di cache "a|b|c" può essere concepito come la
struttura di directory "/a/b/c". clear_cache(null,"a|b|c") equivale a
cancellare i file "/a/b/c/*". clear_cache(null,"a|b") sarebbe come
cancellare i file "/a/b/*". Se specificate un compile_id, ad esempio
clear_cache(null,"a|b","foo"), sarà considerato come un ulteriore
sottogruppo "a/b/c/foo/". Se specificate un nome di template, ad
esempio clear_cache("foo.tpl","a|b|c"), Smarty tenterà di cancellare
"/a/b/c/foo.tpl". NON POTETE cancellare un template specifico sotto
più gruppi di cache, ad es. "a/b/*/foo.tpl"; i gruppi di cache funzionano
SOLO da sinistra a destra. Dovrete raggruppare i vostri template sotto
un singolo sottogruppo di cache per poterli cancellare tutti insieme.
</para>
<para>
I gruppi di cache non vanno confusi con la gerarchia della vostra directory
dei template: i gruppi di cache infatti non sanno qual è la struttura
dei template. Ad esempio, se avete una struttura di template tipo
"themes/blu/index.tpl" e volete avere la possibilità di cancellare
tutti i file di cache per il tema "blue", dovrete creare un gruppo di
cache che riproduce la struttura dei template, ad esempio
display("themes/blue/index.tpl","themes|blue"), e poi eliminarli
con clear_cache(null,"themes|blue").
</para>
<example>
<title>gruppi di cache_id</title>
<programlisting role="php">
<![CDATA[
<?php
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->caching = true;
// eliminiamo tutti i file di cache che hanno "sports|basketball" come primi due gruppi
$smarty->clear_cache(null,"sports|basketball");
// eliminiamo tutti i file di cache che hanno "sports" come primo gruppo di cache
// questo include "sports|basketball", nonché "sports|(anything)|(anything)|(anything)|..."
$smarty->clear_cache(null,"sports");
// eliminiamo il file di cache foo.tpl con "sports|basketball" come cache_id
$smarty->clear_cache("foo.tpl","sports|basketball");
$smarty->display('index.tpl',"sports|basketball");
?>
]]>
</programlisting>
</example>
</sect1>
<!-- 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
-->