\$use_include_path {/programmers/api-variables/variable-use-include-path/}
这个选项告诉 Smarty 在 File Template Resource 处理程序和插件加载器中遵循 include_path,以解析 $template_dir 和 $plugins_dir 所指定的目录。该标志还使插件加载器检查 include_path 是否包含 $plugins_dir。
注意
不应该设计依赖于 include_path 的应用程序,因为这可能会严重拖慢系统(和 Smarty)的速度,具体取决于您的实现方式。
如果启用了 use_include_path,对于 $template_dir 和 $plugins_dir 的文件查找工作如下:
-
对于数组(\$template_dir 或 \$plugins_dir)中的每个元素
$directory,执行以下操作: -
检查请求的文件是否在相对于当前工作目录的
$directory中。如果找到文件,返回它。 -
对于 include_path 中的每个
$path,执行以下操作: -
检查请求的文件是否在相对于
$path(可能相对于当前工作目录)的$directory中。如果找到文件,返回它。 -
尝试默认处理程序,或者失败。
这意味着每当遇到相对于当前工作目录的目录/文件时,它将优先于通过 include_path 可能访问的任何内容。
注意
Smarty 不会过滤 include_path 的元素。这意味着在您的 include path 中包含 \".:\" 将会触发两次当前工作目录的查找。