per il discorso delle variabili, un modo che usano è ob_get_contents, del tipo:
Codice PHP:
ob_start();
include "path_to_view_page.ext"; //facendo l'include, php interpreta ed esegue il codice presente nella pagina
$output = ob_get_contents();
ob_end_clean();
in $output ora hai l'html della pagina che deve essere inclusa nel template. quindi ora o fai uno str_replace sul content del template, oppure puoi fare una cosa del tipo:
Codice PHP:
ob_start();
$variabile_nel_template = $output;
include "path_to_template_file.ext";
$end_output = ob_get_contents();
ob_end_clean();
echo $end_output; //html completo di pagina view+template
ovviamente il template sarà una pagina del tipo:
Codice PHP:
<html>
..
<body>
<?php echo $variabile_nel_template; ?>
</body>
</html>
cmq ripeto, consiglio vivamente di studiarti framework già esistenti per vedere loro che scelte hanno attuato... perchè? perchè visto che stai inventando l'acqua calda, ti conviene vedere come i problemi più comuni siano stati risolti e migliorare i punti deboli delle soluzioni trovate...