Sto usando il Yii Framework che è un framework PHP MVC che è molto simile al tuo framework MVC standard basato sul web. Voglio visualizzare i dati relativi da una tabella many-to-many come elenco di stringhe nella mia vista.
Supponendo uno schema di tabella come:
tag { id, name }
post { id, title, content, date }
post_tag { post_id, tag_id }
Un post verrà visualizzato come:
Date: 9/27/2012
Title: Some Title
Content: blah blah blah...
Tags: Smart Funny Cool Informative
Posso ottenere ciò facendo qualcosa di simile nella mia vista Post:
<?php
echo join(' ',
array_map(function($tag) { return $tag->name; }, $model->tags));
?>
(dove $model->tags
è una matrice di Tag
oggetti associati al mio modello)
Le mie domande sono:
- Questa quantità di codice / logica è accettabile nella vista? (Personalmente penso che preferirei semplicemente fare riferimento a una proprietà o chiamare una singola funzione.)
- In caso negativo, dove dovrebbe vivere questo codice? Nel modello? il controller? un aiutante?
Potenzialmente potrei voler usare anche in altre viste. In definitiva penso che sia un problema puramente di visualizzazione che mi fa pensare che dovrebbe essere nella visualizzazione, ma poi devo ripetere il codice in qualsiasi vista in cui voglio utilizzarlo.