понимание mvc: разница между классом библиотеки и классом модели - PullRequest
2 голосов
/ 09 апреля 2010

так что я хочу следовать конвенциям mvc, но на самом деле не поняла этого.

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

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

я подумал, что его следует разделить на 2 класса: контакт и группа.

Первый класс создаст контакт. Другой добавит контакт в группу. Я думал, что это разделение будет идеальным, потому что их логика изолирована друг от друга. Контакту все равно, существует группа или нет. Группе не важно, как выглядит контакт.

Итак, у Contact будут следующие методы:

$Contact->add($name, $email, $address, $phone) // create an entry in database
$Contact->delete($id) // delete the entry in database
$Contact->edit($id, $name, $email, $address, $phone) // edit the entry in database

А, Группа:

$Group->createGroup($name) // create a group in database
$Group->delete($id) // delete a group in database
$Group->addContact($groupId, $contactId) // add a contact to a group in database

Таким образом, эти классы, очевидно, работают с базой данных. Значит ли это, что это модели? Или это библиотечные классы, например. следует поместить в СИСТЕМУ / БИБЛИОТЕКИ в CodeIgniter. Если это последний, как модель в этом случае выглядит как использование классов?

А как будет выглядеть контроллер в этом сценарии?

Было бы здорово, если бы кто-нибудь дал мне большую картину! Спасибо!

Ответы [ 2 ]

5 голосов
/ 09 апреля 2010

Шаблон MVC не имеет понятия библиотеки. То, к чему вы обращаетесь - это общая схема использования MVC frameworks . Это папка модели, которая содержит специфичные для приложения классы, часто производные от общих, повторно используемых и независимых от приложения библиотечных классов.

3 голосов
/ 09 апреля 2010

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

Библиотеки - это обычно наборы вспомогательных функций для обработки данных / выполнения действий.

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