У меня есть функция с именем 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;
}