quando possibile una classe astratta che raggruppa le funzioni comuni sarebbe sempre meglio.. l'importante è concretizzare l'estensione solo da abstract (Dependency inversion principle)
certo, tutti i controller fanno bene o male le stesse cose quindi abstaction!Sarebbe meglio anche avere una classe Controller ed estenderla per ogni specifica pagina, cosa ne pensi?
al di là del codice, la vista è gestita in mille modi diversi, c'è chi vuole usare "{field}" notazioni strane oppure ":field" o "@section bla bla" quindi se ne trovano di tutti i colori..L'unica perplessità che mi rimane è: meglio utilizzare una classe per gestire la vista, vero?
Nell'esempio che sto studiando e plasmando a mio uso, la vista la organizzo in questo modo:
All'interno del controller ho un metodo:
Io sono abbastanza purista e preferisco mantenere i soliti "echo $field;" all'interno delle viste.. non a caso PHP è esattamente quello che dovrebbe fare
semplicemente nel costruttore della mia classe per le viste posso pre-impostare i dati di creazione della vistaNon riesco a figurarmi nello specifico esempio che hai fatto, come strutturare la classe view:
$message = new view( 'message', $this->mapper->getMsg(), array( 'class'=>'service-message' ) );
è un modo per velocizzare la scrittura altrimenti sarebbe:Codice PHP:
public function __construct( $template, $content, $args );
Codice PHP:
$view = new view( 'template' );
$view->props = array( 'class'=>'index' );
$view->content = 'Contenuto';