我想从smarty的插件函数中获取当前模板文件/行,以进行性能分析/调试。
是否可以使用传递的$ smarty对象?
类似这样的事情
function __smarty_add_javascript($params, $smarty){
Profiler::console('Add javascript @[FILE]#[LINE]');
Controller_Template_Base::getInstance()->javascripts[] = array_pop($params);
}
我可以使用$smarty->source->filepath
访问文件名但是我无法找到任何行信息。
答案 0 :(得分:1)
我认为您无法在运行时从插件访问原始模板的属性。但您可以使用http://php.net/debug_backtrace函数访问调用者位置的信息。 (当然这些信息将基于已编译的文件,而不是原始信息。但它总比没有好。)