class Tpl {
public function __get($varName) {
static $cache;
// Можно было просто объявить св-во объекта,
// а не кэшировать данные в статической переменной
if (!isset($cache[$varName])) $cache[$varName] = ... ; // получаем значение переменной
return $cache[$varName];
}
}