phpbb,源码分析 模板引擎,工具书
这篇文章继续phpbb3的模板代码分析,我将在这篇文章里面详细分析template.php的template类中的几个重要的函数。这些函数实现了phpbb3的模板引擎的核心功能。下面将会讲解三个template类中的函数:set_filenames,destroy,destroy_block_vars
set_filenames
这个函数,在phpbb3的其他地方有这个函数的使用,我这里举个简单的例子:
在viewforum.php的文件中有下面这行代码
$template->set_filenames(array(
'body' => 'viewforum_body.html')
);
下面我们来仔细的瞄一下这个函数到底做了什么。
/**
* Sets the template filenames for handles.
$filename_array
* should be a hash of handle => filename pairs.
* @access public
*/
function set_filenames($filename_array)
{
if (!is_array($filename_array))
{
return false;
}
foreach ($filename_array as $handle =>
$filename)
{
if (empty($filename))
{
trigger_error("template-
>set_filenames: Empty filename specified for $handle", E_USER_ERROR);
}
$this->filename[$handle] = $filename;
$this->files[$handle] = $this->root .
'/' . $filename;
if ($this->inherit_root)
{