У меня есть начальное использование Codeigniter для проекта недавно (несколько месяцев назад), но его получение немного из руки с набором моделей, которые должны взаимодействовать друг с другом и я задавался вопросом, должен ли я создавать библиотеку вместо этого?
В моем случае у меня есть пользовательское действие, которое происходит, когда Вы выигрываете игру, и он быть зарегистрированным мой user_model, но я также хочу, чтобы он был вставлен в мой events_model?
Должен что-то вроде этого, что влияет на многоуровневые модели, становятся библиотекой?
Я знаю, что это не должно быть в контроллере, потому что я должен был бы снова использовать этот триггер в нескольких контроллерах (не мог бы иметь смысла для обеспеченного примера, но делает для моего приложения).
Библиотеки предназначены для обеспечения повторно используемых функций для вашего приложения, в то время как модели в архитектуре MVC представляют логику данных в или фактических данных , используемых вашим заявление.
Итак, чтобы ответить на ваш вопрос, вы можете реализовать библиотеку, которая обрабатывает обновление нескольких моделей. Просто убедитесь, что такие вещи, как вставки в базу данных, обрабатываются самими вашими моделями, поскольку это больше бизнес-логика, чем логика приложения.
Вы можете оставить ваши модели модульными, как они есть, и писать вашу логику в библиотеках, таким образом, вы можете получить доступ к нескольким моделям через одну функцию в библиотеке, не делая ваши контроллеры неопрятными, загружая несколько моделей и имея логику, не ориентированную на интерфейс, смешанную с интерфейсной логикой.