\$use_sub_dirs {/programmers/api-variables/variable-use-sub-dirs/}
如果将 $use_sub_dirs 设置为 TRUE(默认为 FALSE),Smarty 将在 compiled templates 和 cache 目录下创建子目录。在可能创建数万个文件的环境中,这可能有助于提高文件系统的速度。然而,某些环境不允许 PHP 进程创建目录,因此必须禁用此选项,这也是默认设置。
使用子目录可以提高效率,因此如果可以的话,请使用它们。从理论上讲,在每个目录下有 100 个文件的文件系统上,与只有 1 个目录下有 1000 个文件的文件系统相比,性能会更好。在 Solaris 7(UFS)中确实如此……在较新的文件系统(如 ext3 和尤其是 reiserfs)中,差异几乎可以忽略不计。
注意
$use_sub_dirs=true在 safe_mode=On 下无法工作,这就是为什么它是可切换的,并且默认情况下处于关闭状态。在 Windows 上使用
$use_sub_dirs=true可能会导致问题。在 PHP6 中,safe_mode 将被弃用。