Я относительно плохо знаком с CodeIgniter и философией MVC в целом, таким образом, я пытаюсь разъяснить это, прежде чем я сделаю любые дурные привычки.
У меня есть приложение, которое регистрируется. Пользователи. В настоящее время поток похож на это:
Как Вы видите, я пытался переместить как можно больше логики в модель. Единственная логика, которую я не смог переместить, была логикой проверки формы, как CodeIgniter, кажется, вынуждает Вас выразиться в Контроллер. (Если любой не знает путь вокруг этого),
Действительно ли это - способ, которым я должен разрабатывать с CodeIgniter, или с MVC в целом?
Заранее спасибо за любую справку.
Как вы обнаружите, CI гибок и позволяет вам организовывать вещи несколькими различными способами. Я считаю, что модели должны быть зарезервированы только для функций, которые напрямую взаимодействуют с вашим db. Я не использую их для общей логики. Однако я понимаю, почему вы тоже не хотите забивать свои контроллеры логикой. Мое решение - создать ваши собственные библиотеки, содержащие логику, которую вы затем вызываете из контроллера. Здесь есть информация о том, как создать свою собственную библиотеку: http://codeigniter.com/user_guide/general/creating_libraries.html
Для аутентификации пользователей я создаю библиотеку auth_library.php, которая содержит функции, используемые контроллерами входа, регистрации и т. Д.Таким же образом вы можете создать auth_model, который содержит функции, которые связаны с db.
Возможно, вас заинтересует эта серия руководств: http://www.phpandstuff.com/articles/codeigniter-doctrine-from-scratch-day-1-install-and-setup Автор покажет вам, как использовать плагин doctrine с CI, который помещает уровень абстракции между вашими моделями и базой данных. Это очень интересно, блестяще объяснено и использует систему регистрации / входа в качестве начальных примеров.