концептуальный вопрос MVC с использованием фреймворка - PullRequest
0 голосов
/ 18 декабря 2010

при создании довольно сложной формы, которая будет использоваться для редактирования записи базы данных. Я сейчас загружаю контроллер, отправляю запрос модели на создание формы и затем загружаю выходные данные из самой модели вместо отправки формы как$ string в представление для вставки на страницу.

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

Я знаю, что здесь нет «идеального» ответа, но мы пытаемся стандартизировать, чтобы, привлекая разработчиков, мы делали что-то стандартным для отрасли способом (который мы все еще изучаем).Использование платформы Code Igniter.

Ответы [ 2 ]

8 голосов
/ 18 декабря 2010

На мой взгляд, здесь есть идеальный ответ:

Модель обрабатывает данные на стороне вещей. Отображение формы для редактирования данных в модели является обязанностью пользовательского интерфейса, который является обязанностью представления.

Другими словами, Модель не должна отображать свою собственную форму. Вид должен это делать.

2 голосов
/ 18 декабря 2010

Не ограничивайте ваше приложение, определяя, что представление не должно содержать никакого кода на стороне сервера. Если бы вы передавали массив в представление, вам нужно было бы выполнить цикл, чтобы вывести эти данные в браузер. Создавая строку в модели и передавая ее представлению, вы должны создать в модели много HTML-кода, для которого предназначено представление. Мне еще не приходилось сталкиваться с ситуацией, когда мне не удавалось избежать использования хотя бы небольшого количества PHP в форме, обычно для добавления значения из массива POST во входную форму, где он не прошел проверку.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...