我有一个叫做load_template()
的函数。
这个函数有两个参数:
- $name => 模板名称
- $vars => 键值对数组,用于替换模板中的变量。
我希望它的工作方式是这样的:
在模板 ('test') 中,我想要能够编写以下内容:
<?php echo $title; ?>
然后调用
load_template('test', array('title' => 'My Title'));
我该如何做到这一点呢?
输出缓存方法。 我已经想出了下面的代码。
我相信它可以改进。
public static function template($name, $vars = array()) {
if (is_file(TEMPLATE_DIR . $name . '.php')) {
ob_start();
extract($vars);
require(TEMPLATE_DIR . $name . '.php');
$contents = ob_get_contents();
ob_end_clean();
return $contents;
}
throw new exception('Could not load template file \'' . $name . '\'');
return false;
}