Skip to content

\$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 中包含 \".:\" 将会触发两次当前工作目录的查找。

参考 Template Resources$template_dir