Широкие классы приложений для codeigniter
Я начинаю использовать codeigniter впервые и начинаю планировать структуру кодирования.
У меня есть несколько "объектов", на которые регулярно ссылаются приложения: пользователь, статья, фотография, комментарий, тема форума и т. Д. Эти объекты будут выполнять общие функции, такие как получение / установка определенных сведений о пользователе, статье, фотография, комментарий, тема и т. д. На этот материал обычно ссылаются практически все контроллеры в тот или иной момент.
Где найти правильный и лучший способ их хранения и как?
2 ответа
Именно так работает MVC...
Похоже, вы создадите модели / библиотеки для каждого из ваших бизнес-объектов, а затем либо воспользуетесь config->autoload, чтобы включить их, либо загрузите их в свой класс контроллера ядра (application/core/MY_Controller).
В общем, я бы предложил построить ваши методы в контроллере, а затем рефакторинг и перенести методы в модель. Затем рефакторинг в ваших моделях. Диспетчер говорит: "Сделай это" и машет рукой, как командир. здесь не сказано, как это сделать, "как" в модели.
Еще одно предложение, о котором я только что узнал, - это спроектировать и создать приложение с точки зрения роли пользователя - например, "Администратор", "Покупатель", "Редактор" и т. Д. Не помещайте инструменты, которые используются, например, CRUD, в центр. приложения. Приложение должно зависеть от того, что нужно сделать пользователю. "Дядя Боб" Мартин предлагает отличную цитату: если вы попросите архитектора показать вам проект дома, он не вернется со списком инструментов, таких как молоток, пила и рулетка. И архитектурный дизайн не загроможден кучей деталей реализации. План - или ваш дизайн объекта - специфичен только для того, что необходимо.