\$default_config_handler_func {#variable.default.config.handler.func}
当无法从资源中获取配置文件时,将调用此函数。
注意
默认处理程序目前仅在文件资源上调用。当资源本身无法找到时,不会触发该处理程序,而会抛出一个 SmartyException 异常。
<?php
$smarty = new Smarty();
$smarty->default_config_handler_func = 'my_default_config_handler_func';
/**
* 默认配置处理程序
*
* 当 Smarty 的 file: 资源无法加载请求的文件时调用
*
* @param string $type 资源类型(例如 "file"、"string"、"eval"、"resource")
* @param string $name 资源名称(例如 "foo/bar.tpl")
* @param string &$content 配置的内容
* @param integer &$modified 配置的修改时间
* @param Smarty $smarty Smarty 实例
* @return string|boolean 文件路径,或者如果已填充 $content 和 $modified,则返回布尔值 true,
* 如果无法加载默认配置,则返回布尔值 false
*/
function my_default_config_handler_func($type, $name, &$content, &$modified, Smarty $smarty) {
if (false) {
// 返回修正后的文件路径
return "/tmp/some/foobar.tpl";
} elseif (false) {
// 直接返回一个配置
$content = 'someVar = "the config source"';
$modified = time();
return true;
} else {
// 告诉 Smarty 加载失败
return false;
}
}
?>