Originariamente inviato da fatmatt
e per il resto funziona all'incirca come hai descritto , la vista è affidatra al template, i dati vengono recuperati dai vari moduli (questo permette di dividere il codice e scrivere moduli personalizzati) dopodichè il controller mete tutto insieme .
Nelle due righe di codice che ho portato, non c'è un replace, ma codice PHP, in questo modo puoi creare cicli nei template con variabili già inizializzate nel controller:
Controller.php
Codice PHP:
$id 4//variabile di prova
$ciao $prodotti->find($id); //dalla tabella prodotti
$c->view(); 
Vista.php
Codice PHP:
 <?php while($desc $db->load($ciao)): ?>
       <td><?php echo $desc['nome'?></td>
<?php endwhile; ?>
Cioè io nella vista metterei solamente variabili da stampare a video, in questo modo non fai tanti replace se hai ne hai molte e potresti crearti una variabile comprendente un array da usare nelle viste, tipo $_EXTRACT, quindi $_EXTRACT['ciao'] = $ciao; e renderla globale nella vista dal controller, con una funzione automatica.
Così, permane lo stesso la differenza che c'è tra un controller e una vista.
Il mio obiettivo è di inserire delle classi per il controllo dell'input e dell'output, per cercare di limitare i danni di XSS e Sql-Injections, che ultimamente mi sembrano un argomento caldo.
insomma mi concentrerò sulla validazione dei dati
Fai bene, ricordati il captcha, virgolette varie e caratteri html.

Ciao

Alberto