R0s0maxa
@R0s0maxa
junior web-developer

Допустимы ли во VIEW условия?

Во вью получается довольно большое количество условий(if-else). Особенно при выводе постраничной навигации.
Допустимо ли это?
  • Вопрос задан
  • 2255 просмотров
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
А почему нет? Много if/else это в любом месте не сильно хорошо и стоит подумать о том как бы избавиться от лишних условий и вынести эту логику в компонент хелпер (судя по всему у вас так и есть).

VIEW в контексте MVC это слой конвертирующий данные из формата приложения в формат требуемый клиентом на выходе, так что без условий сложно. То есть в вашем случае трансформация доменных моделей в HTML. То есть вообще весь код который занимается такими трансформациями это view. Шаблонизатор, хелперы и т.д. Внутри этого слоя все те же правила что и для других слоев. DRY и все такое.

p.s. Приведите пример "много условий".
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Вью - это логика отображения. Условный переход - это, несомненно, логическая конструкция. То есть, утверждение сводится к "допустимо ли использовать логику для логики?" ответ - TRUE.

Больше того, избавиться от условных переходов в шаблоне в принципе не получится. Любая попытка сведется всего лишь к переименовыванию условного перехода в анонимную конструкцию, которая будет выполнять те же функции, но при этом запутает читателя.

А вот сократить количество логики, как ваыше написали - можно. К примеру, подготовить все нужные данные заранее - либо в контроллере, либо в хелпере, а в шаблоне заниматься только выводом этих данных. Втом числе данных для пагинации. То есть, условных переходов не станет меньше, но они перейдут в тот слой, где более уместны.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы