PHPTAL arbeitet, indem es PHP-Dateien aus der Vorlagenlogik generiert; das bedeutet, daß es ein Verzeichnis benötigt, in dem die erzeugten Dateien gespeichert und durch den PHP Interpreter zerlegt werden können.
In der Grundeinstellung verwendet PHPTAL, falls vorhanden, die PHP-Funktion sys_get_temp_dir()
, um das temporäre Verzeichnis zu bestimmen, in dem die generierten PHP-Dateien gespeichert werden. Sonst wird auf unixartigen Systemen /tmp
und auf Microsoft Systemen c:\windows\temp
verwendet. Sie können die Grundeinstellung durch den Aufruf von setPhpCodeDestination()
mit einem passenden Pfad nach ihren Wünschen ändern. Sei es das übliche temporäre Verzeichnis, sei es ein eigenes: seine Zugriffsrechte müssen so gesetzt sein, daß der PHP ausführenden Prozess (d.h. der Apache Betreiber wenn das mod_php Modul verwendet wird, sonst der cgi/fastcgi Betreiber) Dateien anlegen und verändern kann.
PHPTAL erzeugt zu jeder Vorlagendatei und, falls phptal:cache
verwendet wird, auch für jedes Element eine (php) Datei. Für Makros werden keine separaten Dateien angelegt. (Sie werden einfach als PHP-Funktionen in die erzeugte Datei eingefügt.) Diese Dateien werden ab und an automatisch gelöscht, genauer: jedes mal, wenn eine Vorlage bearbeitet wird, wird die alte Datei mit einer gewissen durch setCachePurgeFrequency()
bestimmten Wahrscheinlichkeit gelöscht, falls ihre durch setCacheLifetime()
festgelegte Lebensdauer abgelaufen ist.
Natürlich kann man alte bzw. unbenutzte Dateien auch via cron-Job und Shell löschen (hier: UNIXartige Shell):
find /tmp/ -name tpl_\* \( -atime +1 -o -mtime +14 \) -delete