Куда должны идти элементы с использованием формата MVC с помощью CodeIgniter

Это мой первый опыт использования конструкции MVC (CodeIgniter). Я надеюсь, что кто-нибудь может сказать мне, где принадлежат следующие элементы. они у меня написаны; Я просто хочу убедиться, что они правильно размещены в соответствующих местах. Вот как будет работать мое приложение:

  1. Позвоните в БД и посмотрите, есть ли у нас зарегистрированный пользователь
  2. Переход на страницу регистрации
  3. Переход на главную страницу настроек для существующих пользователей
  4. Сделать запросы к БД для создания нового пользователя
  5. Делайте запросы на обновление, когда пользователи меняют свои предпочтения

Предоставляемая услуга — это задание cron, циклически повторяющееся каждые 10 минут, которое я до сих пор написал вне CodeIgniter. Это что-то, что я должен/мог бы добавить к логике? Он пингует Твиттер и делает что-то с любыми новыми твитами. Дайте мне знать, если я могу прояснить любую часть этого!


person Alex Mcp    schedule 01.10.2009    source источник


Ответы (2)


  1. Модель
  2. Контроллер
  3. Контроллер
  4. Модель
  5. Модель

Эмпирическое правило: если речь идет о базе данных или состоянии приложения, она принадлежит модели. Если это HTML или логика представления, он принадлежит представлению. Контроллеры обрабатывают остальную логику и помогают связать представления и модели вместе.

person GSto    schedule 01.10.2009

Также всплывает много других вещей:

  • Где я должен дезинфицировать данные? Как дело в модели - в контроллере или ваще перед просмотром? Обычно я делаю это в представлении, если это что-то вроде htmlspecialchars() (хотя я уверен, что другие могут не согласиться).

В Википедии есть очень хорошая статья.

person alex    schedule 01.10.2009
comment
Я считаю, что все, что связано с вводом/выводом данных, должно идти в модели. Это включает в себя санитарию. Поэтому в модели, прежде чем он будет передан контроллеру. - person GSto; 01.10.2009
comment
Однако есть исключение - что, если вам нужны данные как есть в некоторых частях, но затем, когда вам нужно распечатать их на странице, вы будете использовать htmlspecialchars(), чтобы убедиться, что в нем нет элементов сценария и т. д. - person alex; 01.10.2009