Considérez ce qui suit à partir de CodeIgniter. Si je fais cela mal, alors s'il vous plaît dites-moi:MVC Question: Comment savoir si je mets trop de logique dans ma vision?
<html>
<head>
<title><?=$title ?></title>
</head>
<body>
<h1><?=$heading; ?></h1>
<?php foreach ($query->result() as $row):?>
<p>
<?=$row->LastName . ', ' . $row->FirstName . ' ' . $row->MiddleName?>
</br>
<?=$row->myField?>
<?php if ($row->myField == ''):?>
no data found
<?php endif;?>
some text
<?=$row->anotherField ?>
</br>
<?php if ($row->purchasedate !='') {echo 'Purchase Date ' . mdate('%m' . '/' . '%d' . '/' . '%Y', strtotime($row-> purchasedate));}?>
</p>
<p>
<label for="ProductNumber">Product</label>
<input type="text" name="Product_number" id="ProductNumber" value =
<?=$row->ProductNumber?>
/>
</br>
<?php if ($row->Purchased == '-1'): ?>
<h3>Bought</h3>
<?php endif;?></br>
<?php if ($row->Sold == '-1'): ?>
<h3>Sold</h3>
<?php endif;?></br>
</p>
<?php endforeach;?>
</body>
</html>
Je sais que certains d'entre eux n'auront pas de sens. J'expérimente et aussi changé certains des noms de champs.
Ma question est: est-ce trop de mélange de code dans ma vue? Il semble que cela se produise avec la plupart des modèles, mais qu'il y a une ligne vague qui se sent mal quand vous la traversez et vous dites: "C'est trop de logique à mon avis." Je ne connais pas cette ligne. Est-ce que cet exemple le traverse? A foreach, if thens, echo, strtotime, les balises? Php, etc.
Est-ce juste en traversant la "ligne" quand je mets la logique d'accès db et commencer à émettre toutes mes balises html à partir d'instructions print ou response.write sur une grande page dans les coulisses sur le serveur?
Votre exemple de code serait plus facile à lire si l'indentation représentait systématiquement la hiérarchie du balisage. – eyelidlessness
Je voulais dire que vous ne faites rien de mal à mon avis. Toute votre logique fait quelque chose avec la mise en page. – MrHus