Supponiamo che tu voglia mostrare un elenco utenti, su un'applicazione web che deve gestire formati di data personalizzati (a seconda della lingua dell'interfaccia selezionata corrente).
Sono possibili diverse posizioni per l'applicazione del formato data. Quale useresti e perché?
-
Al modello, ad esempio facendo un
DATE_FORMAT(user.birthdate, '%d/%m/%Y')
per i campi data (supponiamo di avere un DB MySQL). -
A livello di controller, ad esempio (supponiamo di utilizzare PHP):
$users = UserModel::getUsers(); // loops through results before display to format dates. // in the $users structure, we have to know which fields are dates or not $users = MagicFunctionFormattingDates($users); $view = new View('someTemplate'); $view->assign('users', $users);
-
A livello di vista, ad esempio (supponiamo di utilizzare un linguaggio modello come Smarty):
{foreach key=keyitem item=row from=$users} <tr> {foreach key=keyfield item=field from=$row.fields} {* Here $field should be an Object or associative array holding its 'type' (is it a date or something else) *} <td>{MagicFunctionForFormatting field=$field}</td> {/foreach} </tr> {/endforeach}
Una domanda simile e correlata vale per le date di registrazione (ad esempio su un modulo di registrazione utente). Dove dovrebbe avvenire la conversione della data:
-
Nel controller che elabora e convalida il modulo, prima di chiamare il modello?
-
Nel modello?