У меня есть две таблицы: Кампании, Кампания_статистика. Мне нужно вывести список кампаний с вложенной статистикой.Хорошая практика использования геттеров в представлении?
Для того, чтобы начать, я только что метод в модели, созданной массив вроде следующего:
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 ?>
Эта реализация модели приводит к беспорядочному коду, поэтому я решил попробовать сделать Кампанию объектом. В целях использования я использую геттеры:
<? foreach($this->campaigns as $campaign): ?>
<div class="campaign">
<?= $campaign->getName() ?>
<? foreach($campaign->getMonthStats() as $monthStats): ?>
<div class="statistics">
<?= $monthStats->getViews() ?>
</div>
<? endforeach ?>
</div>
<? endforeach ?>
Я никогда не видел, чтобы какой-либо фреймворк использовал такие геттеры. Каковы плюсы и минусы такого подхода?
Мы говорим о добытчиках, а не большие методы :) Я согласен с вами что-нибудь более сложным, чем добытчиками – haltabush
права. хорошо, я просто боюсь двоеточий: D Я полагаю, если вы знаете, что делаете, его нормально вмешиваться в уран. –