Разделение бизнес-логики... а если дохрена надо? )

Yaponchick

Новичок
Здравствуйте, товарищи трудоголики =)

И так, столкнулся с таким случаем:
Парсим текстовый файл, в котором есть люди и ихний профит относительно руды. Но фишка в том, что выводить нужно в одном из 4х форматах:
- Имя = Кол-во руды units
- Имя = Вес руды (кол-во * вес) m3
- Имя = Профит (weight * price per m3) $

Пока что разделался с этим убогим вариантом:

PHP:
{($character_totals[$nickname] / ($total * 0.01))}%

{if $weight_by_m3}
  ({$character_totals[$nickname]} m<sup>3</sup>)
{else}
  ({$character_totals[$nickname]} units)
{/if}
Но всё равно не понятки с "где должна высчитываться конвертация в иной формат(10000 units => 845 m3 => $1'250 )" и где должен определяться вывод "units OR m3 OR $". Сейчас 1ая часть находится в контроллёре, а вторая во View.

А как вы делаете?

В голове только вариант а-ля:

PHP:
({$character_totals[$nickname]} $selected_unit)
Но тогда контроллёр будет засовывать "units" / "m<sup>3</sup>" / "$" в переменную... что вроде нарушает Б-Л.
 

fixxxer

К.О.
Партнер клуба
А причем тут контроллер? Контроллер просто ставит в соответствие блоку шаблона модель (или компонент или еще какой renderable entity), не более того.

Либо заранее рассчитать все варианты, либо соответствующий хелпер
 

С.

Продвинутый новичок
О боже, контролер здесь каким боком? Вопрос о вью и модели!
 

С.

Продвинутый новичок
Выбор, куда это поместить не однозначен. Если совсем по-буквоедски, то надо ввести условные обозначения единиц, определять их в модели, а выводить соответствующие символы во вью. Но не факт, что я бы сам так стал делать. Вью так или иначе приходится иметь предствление о сути данных, пришедших из модели, это не настолько "тупая" среда отрисовки.
 

AmdY

Пью пиво
Команда форума
Pestilence
пиши плагин для шаблонизатора, чтобы потом в одном месте править.
 
Сверху