phpbb,源码分析 模板引擎,工具书
$this->files_inherit[$handle] =
$this->inherit_root . '/' . $filename;
}
}
return true;
}
上面就是这个函数的所有代码,可以看见这个函数非常的简单,主要做的就是将参数中的数组存入$this->filename和$this->files中,可以看到这两个的区别只是,filename存的单单是文件名,files存的是文件的路径加文件名。而filename和files的作用将会在讲解functions_template.php的时候讲解到。当然这里我还是没有看出来inherit_root的作用,代码中的逻辑是如果设置了inherit_root,那么就将文件也存在files_inherit中。我在想,这个数组的作用也可能在functions_template.php中可以看到。destroy
我们可以看一下destroy的函数,代码很简单,如下
/**
* Destroy template data set
* @access public
*/
function destroy()
{
$this->_tpldata = array('.' => array(0 =>
array()));
}
它做的只是$_tpldata的清空,之前有说到过,$_tpldata中存的都是模板的数据,而将$_tpldata的清空意味着模板的销毁。这个函数我们就这样简单的过了,在已经查看的代码中phpbb3的开发人员很聪明。
我还没有找到有哪个地方调用了这个函数,以后找到的话补充上来。
destroy_block_vars
同理,顾名思义,这个函数是用来销毁$_tpldata中的块结构数据的,所谓的块结构数据大致有对象,数组等。
/**
* Reset/empty complete block
* @access public
*/
function destroy_block_vars($blockname)
{
if (strpos($blockname, '.') !== false)
{
// Nested block.