Codeigniter: когда использовать модель против библиотеки? - PullRequest
19 голосов
/ 24 июня 2010

Я начал использовать Codeigniter для проекта недавно (несколько месяцев назад), но он немного вышел из-под контроля с кучей моделей, которые должны взаимодействовать друг с другом, и мне было интересно, стоит ли вместо этого создавать библиотеку?

В моем случае у меня есть действие пользователя, которое происходит, когда вы выигрываете игру, и оно регистрируется в моей user_model, но я также хочу, чтобы оно было помещено в мою events_model?

что-то подобное, что влияет на несколько моделей стать библиотекой?

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

Ответы [ 2 ]

21 голосов
/ 25 июня 2010

Библиотеки предназначены для обеспечения функциональности многократного использования для вашего приложения, в то время как модели в архитектуре MVC представляют логику данных in или фактические данные , используемые вашимapplication.

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

2 голосов
/ 24 июня 2010

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

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