PHP шаблоны

Я пишу простой шаблонный слой в PHP, но я немного застрял. Вот как это работает на данный момент:

Во-первых, я используюfetch_template загрузить содержимое шаблона из базы данных - это работает (и я собираю все шаблоны при запуске, если вам интересно).

Я использую переменные PHP в своем коде шаблона и в логике - например:

// PHP:
$name = 'Ross';

// Tpl:
<p>Hello, my name is $name.</p>

Я тогда используюoutput_template&nbsp;(ниже), чтобы разобрать переменные в шаблоне и заменить их. Ранее я использовал шаблоны тегов с прославленнымstr_replace&nbsp;шаблон класса, но это было слишком неэффективно.

/**
 * Returns a template after evaluating it
 * @param   string  $template   Template contents
 * @return  string  Template output
 */
function output_template($template) {
    eval('return "' . $template . '";');
}

Моя проблема, если вы еще не догадались, состоит в том, что переменные не объявлены внутри функции - поэтому функция не может их проанализировать в$template&nbsp;если я не помещу их в глобальную сферу - что я не уверен, что хочу сделать. Это или иметь массив переменных в качестве параметра в функции (что звучит еще более утомительно, но возможно).

У кого-нибудь есть какие-либо решения, кроме использования кода из функции (это только одна строка) в моем коде, а не использования функции?

Спасибо росс

Постскриптум Я знаю о Smarty и огромном количестве шаблонизаторов - я не собираюсь их использовать, поэтому, пожалуйста, не предлагайте их. Спасибо!