Salve a tutti! ^^ Ho un problema abbastanza variopinto

Ho scritto alcune classi per le gestione di un sito web,. implementando uno schema simile al pattern MVC:

Una classe controller carica i moduli, ovvero le altre classi php che provvedono l'output, ed inizializza la classe template.

Quest'utlima classe carica un template html (contenente appositi tags e codice php) e lo compila con l'output dei moduli.

in sostanza il file index.php consosterà in poche righe di inzializzazione:
Codice PHP:
include('controller.class.php');
$c = new controller('templates/bubble/index.tpl');
$roles = array('guest');
$c->logModule("hello",$roles);
$c->logModule("books",$roles);
$c->view->display(); 
Il metodo logModule(), dice al controller di caricare un modulo ed al template di valorizzare il tag con l'ouput del modulo.

Per ottenere questo risultato procedo in un modo simile al seguente
Codice PHP:
$template->assignTag("nome_modulo",$modulo->output()); 
In realtà questa operazione non deve essere fatta direttamente, ma viene mediata leggermente dal controller.

il file html conterrà quindi tags simili al seguente
Codice PHP:
{$nome_modulo
sta alla classe template riformattare il template html e valorizzare le variabili

ECCO il problema....
Valorizzo le variabili con la funzione extract() passandogli un array associativo membro della classe template...
la valorizzazione avviene in due passi:
prima carico le variabili in un array associativo con la funzione prvata _addVar(), poi il meotdo _registerVars() esegue extract() su tutte le variabili registrate nell'array.

Ma le variabili non vengono affatto valorizzate... ed il template resta vuoto buck

e non capisco assolutamente il perchè... ho pensato a problemi di visibilità delle variabli ma non ne sono venuto a capo...

tenete presente che la classe di template esegue un include() sul template compilato

inoltre un template compilato consiste in un file che al posto di tags
Codice PHP:
{$nome_modulo
ha codice del tipo
Codice PHP:
echo $nome_modulo 

scusate se il post è un po lunghetto ma ho cercato di farvi capire il contesto... se cè bisogno vi posto il codice completo..

grazie mille ^^