Sto cercando una buona argomentazione per:
Perché NON è una buona idea incorporare il codice di recupero dei dati nella mia vista?
Esempio
<tr>
<td>Product</td>
<td><select name="product">
<option value="0">--</option>
<?
$sql = "SELECT id, model FROM product";
$result = db_execute($sql);
for ($i = 0; $i < db_num_rows($result); $i ++)
{
$row = db_fetch_array($result);
?><option value="<?=$row['id']?>"><?=$row['model']?></option><?
}
?>
</select></td>
</tr>
In qualche modo, in teoria, posso capire che cose come "compartimentalizzare" costrutti di codice individuali nelle rispettive caselle (come la creazione di classi per la visualizzazione individuale o l'archiviazione persistente) possono essere utili, ma anche avere il codice nello stesso posto è vantaggioso . Posso vedere tutto proprio qui in un posto. I dati vengono trascinati nello stesso punto in cui viene visualizzata la casella select
. Vedo la localizzazione (del codice che crea la casella select
in un unico punto) come una buona cosa.
Separare correttamente (ovvero refactoring questo codice) significa creare un modello, controller, archiviazione dati, costrutti vista e tutti gli altri codici standard che lo accompagnano, dove letteralmente 4, 5, 6 o più classi devono venire insieme per eseguire la stessa funzionalità.