$use_sub_dirs
Wenn $use_sub_dirs auf 'true' gesetzt ist wird Smarty unterhalb
der Verzeichnisse templates_c
und cache
Unterverzeichnisse anlegen.
In einer Umgebung in der möglicherweise zehntausende Dateien
angelegt werden kann das helfen, die Geschwindigkeit des Zugriffs
auf das Dateisystem zu optimieren.
Andererseits gibt es Umgebungen, in denen PHP-Prozesse nicht
die Berechtigung zum Anlegen von Unterverzeichnissen haben,
so dass diese Funktion nicht genutzt werden kann.
Der Vorgabewert ist 'false', aus Performancegründen wird allerdings
empfohlen diesen Wert auf 'true' zu setzen,
wenn die Systemumgebung dies zulässt.
Theoretisch erhält man bei einer Dateistruktur mit 10 Verzeichnissen
mit je 100 Dateien eine deutlich höhere Performance als bei der
Verwendung von nur einem Verzeichnis mit 1000 Dateien.
Dies war auch in der Praxis z.B. bei Solaris (UFS) so.
Mit aktuellen Dateisystemen wie ext3 und vor allem reiserfs
ist dieser Unterschied allerdings inzwischen marginal geworden.
Technische Bemerkung
$use_sub_dirs=true funktioniert nicht mit
safe_mode=On.
Dies ist der Grund, warum man es umschalten kann und warum
die Funktion standardmäß ausgeschaltet ist.
Bemerkung
Seit Smarty-2.6.2 ist der Vorgabewert für
$use_sub_dirs 'false'.
Siehe auch
$compile_dir,
und
$cache_dir.