$use_sub_dirs
当$use_sub_dirs
设置成true的时候, Smarty将在编译目录 和缓存目录下面创建子目录。默认是false。在一些情况下,上述的目录有可能会生成成千上万的文件,建立子目录的方式有助于加快文件系统的搜索速度。另外,一些环境是不允许PHP进程创建目录的,所以这只能默认是关闭。
子目录是非常高效的,所以如有可能的话,尽可能采用它。理论上来说,在文件系统上的10个目录里每个目录有100个文件,比起1个目录有1000个文件,前者性能高得多。在Solaris 7 (UFS)系统上已经被证实了这点,还有较新的文件系统如ext3,甚至是reiserfs,均大同小异。
技术说明
$use_sub_dirs=true
不会和safe_mode=On一起工作,那就是为什么它是可选并且默认关闭的。在Windows上设置
$use_sub_dirs=true
将会引起一些问题。PHP6已经废除了安全模式。
参见 $compile_id
, $cache_dir
, 和 $compile_dir
.
原文: https://www.smarty.net/docs/zh_CN/variable.use.sub.dirs.tpl