Блог в CodeIgniter: где начинается модель и заканчивается контроллер? - PullRequest
8 голосов
/ 25 июня 2009

Я тестирую CodeIgniter и пытаюсь создать простой блог. Видеоурок на сайте CodeIgniter хороший, но очень неполный. Я не слишком знаком со структурой MVC, и мне интересно, как именно используется модель. Например, в настоящее время я делаю «админскую» часть моего блога, которая позволяет вам создавать, удалять и изменять записи. Представление содержит только xhtml, а контроллер позаботится обо всем остальном. Что должно быть в модели? Все, что связано с базой данных, встречается в модели (т.е. вставляет, обновляет, выбирает и т. Д.)?

Ответы [ 4 ]

9 голосов
/ 25 июня 2009

Зависит от того, кого вы спрашиваете.

Некоторым людям нравится помещать в модель как можно больше данных (проверка, извлечение данных и т. Д.), И чтобы контроллер просто ткнул в нее, чтобы получить необходимые данные, которые он затем передает представлению.

Подумайте об этом так: если у вас есть более одного контроллера, обращающегося к одной модели, общие вещи между ними не должны быть общими (если эта общая вещь действительно имеет отношение к модели)

2 голосов
/ 27 июня 2009

Для меня модель - это место, где я делаю всю «грязную» работу для своих данных. Я выбираю, вставляю, обновляю данные в базу данных, все в модели. Я создаю 1 модель для 1 таблицы в БД.

Контроллер будет центральной логикой для страницы, которую я создаю. Это нужно как можно тоньше. Если функция выходит за пределы 1 экрана, она слишком длинная (кроме случаев, когда она выполняет проверку формы, что должно быть сделано в контроллере). Вот где Модель приходит играть. Контроллер просто передает данные в модель. Я делаю проверку, обработку и форматирование данных в модели. Затем мой контроллер извлекает обработанные данные из модели, передает их на просмотр и завершает.

2 голосов
/ 26 июня 2009

Модель должна содержать все, что связано с базой данных, и выполнять все основные операции CRUD (Создать, Получить, Обновить, Удалить).

Контроллер должен обрабатывать все коммуникации между моделью и представлением. Так, например, если у вас есть форма для добавления нового сообщения, вы должны иметь представление для этой формы, которое вызывается из контроллера. Контроллер проверит, было ли что-либо отправлено, и, если что-то есть, вызовет метод create / insert из Post Model.

0 голосов
/ 25 июня 2009

модель = это объект, который "общается с вашей базой данных" view = это объект, который строит пользовательский интерфейс контроллер = является командиром .. он получил команду от пользователя, а затем передал ее на модель и подал пользователю через представление.

Чтобы создать простой блог, попробуйте прочитать Codeigniter. это поможет вам после просмотра видео. ссылки на codeigniter хорошо документированы и хорошо объяснены. попробуйте сначала.

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