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

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

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

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

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

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
569
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

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

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

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

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