Лучшая практика размещения логики отображения в представлении в CakePHP

StackOverflow https://stackoverflow.com/questions/134948

  •  02-07-2019
  •  | 
  •  

Вопрос

У меня есть приложение CakePHP 1.2.

Я сталкиваюсь со случаем, когда мне нужно выполнить некоторую логику, чтобы правильно отобразить вещи в представлении.

Пример:У меня есть таблица под названием «Типы».Существуют флаги для различных типов, поэтому в каждой строке установлено одно или несколько полей BOOL.Для одного типа я сохраняю содержимое RTF в другом поле.

Поэтому, когда я показываю список всех опечаток в представлении, я хочу создать ссылку для типов, которые являются типом, в котором я храню RTF.Иначе ссылку показывать не хочу.

Где лучшее место для этой логики?

Я хочу использовать html->link для создания ссылки, но не могу использовать ее внутри своей модели.Должна ли логика присутствовать в модели, и если да, то должен ли я создавать HTML в своей модели, напримерсвязь?

Это было полезно?

Решение

я бы предложил сохранить эту логику в представлении, создание HTML в вашей модели нарушает полное разделение представления и модели.Я не думаю, что что-то не так с логикой представления, лично я склонен ограничивать ее базовыми условными выражениями.

в конечном счете, я думаю, идея состоит в том, чтобы выяснить, где эта логика лучше всего подходит.в этом случае логика такова: «если у меня есть определенный тип, я должен предоставить ссылку на него», что является проблемой представления, а не проблемой модели.

Другие советы

Создайте свой собственный AppHtmlHelper, который расширяет HtmlHelper и выполнит проверку за вас.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top