我有兩個表格:Campaigns,Campaign_statistics。我需要輸出帶有嵌套統計信息的廣告系列列表。在視圖中使用getter是否是好習慣?
首先,我剛在模型的方法,其創建像以下的數組:
array(
'id', // integer
'campaign_name',// string
'stats'// nested array of arrays with stats by periods
);
在視圖中我有兩個foreach循環(一個嵌套在另一個):
<? foreach ($this->campaigns as $campaign): ?>
<div class="campaign">
<?= $campaign['name'] ?>
<? foreach($campaign['stats'] as $monthStats): ?>
<div class="statistics">
<?= $monthStats['views'] ?>
</div>
<? endforeach ?>
</div>
<? endforeach ?>
模型的實現會導致代碼混亂,所以我決定嘗試使Campaign成爲一個對象。在一個視圖中,我使用getters:
<? foreach($this->campaigns as $campaign): ?>
<div class="campaign">
<?= $campaign->getName() ?>
<? foreach($campaign->getMonthStats() as $monthStats): ?>
<div class="statistics">
<?= $monthStats->getViews() ?>
</div>
<? endforeach ?>
</div>
<? endforeach ?>
我從來沒有見過任何框架使用這樣的getters。這種方法的優點/缺點是什麼?
我們正在談論的干將,而不是大的方法:)我同意給你什麼比干將 – haltabush 2012-03-24 22:49:00
權更加複雜。好吧,我只是害怕冒號:D我想,如果你知道你在做什麼,那麼也可以干涉鈾。 – 2012-03-24 22:53:49