Hidek1, lo que me sorprende es este método..
Código PHP:
function asigna_variables($vars) {
$this->vars = (empty ( $this->vars )) ? $vars : $this->vars . $vars;
}
si
$this->vars es un arreglo... ¿para que lo concatenas con punto??
además tienes varios errores, pero mi principal pregunta es...
¿porque tanta asignación a variables y
eval()??
luego... si
muestra(),
devuelve() y
variable_plantilla() tienen un 80% de comportamiento idéntico.. ¿porque repites el mismo código tres veces??
etc, etc..