Какова лучшая структура проекта в codeigniter и как ее использовать? - PullRequest
0 голосов
/ 02 марта 2012

У меня есть несколько недель с тех пор, как я использую CI, но теперь я обнаружил некоторые проблемы со структурой моего проекта, я хотел бы, чтобы кто-нибудь дал мне некоторые подсказки, потому что я как бы застрял, проблема в следующем:

У меня есть проект MVC, поэтому я делю его, например, на файлы (каждый по функциональности), есть файл со всеми функциями, соответствующими при входе в систему, и другой со всеми связанными при публикации (это пример), но сейчас я нахожусь в момент, когда мне нужно использовать логин или публикацию в другой части проекта, читая, я обнаружил, что не могу вызвать контроллер из другой, я могу использовать помощника, но все же мне нужно будет использовать модель, поэтому Я должен взять этот код и вставить его в контроллер, где я вызываю модель и так далее (и это нехорошо), я обнаружил, что могу использовать модули, но я не хочу просматривать их, пока кто-то не сможет дайте мне опыт этого, я не хотел бы менять проект, любым способом я мог бы запустить все эти контроллеры (я знаю, что могу использовать run :: Я не уверен, могу ли я отправить параметры в нем), любые идеи, пожалуйста

Заранее спасибо.

1 Ответ

2 голосов
/ 02 марта 2012

Справедливое предупреждение, этот тип вопросов будет сбит многими модераторами SO, но я дам вам несколько советов независимо от того:

  1. Действия контроллера одноразовые. Если вы обнаружите дублирующийся код на нескольких контроллерах (или вам потребуется вызывать функцию контроллера из другого контроллера), это верный признак того, что вы должны переместить этот код для модели или библиотеки.

  2. Модели являются объектно-ориентированными, а не специфичными для действий. У меня не было бы модели, предназначенной для входов в систему, если у вас нет нескольких типов входов (большинство приложений / сайтов имеют только входы для членов , но у вас могут быть администраторы и т. д., которые хранятся в таблице, отличной от остальных). Вместо этого имейте класс User_model и сделайте function login($email, $password) метод этого класса.

  3. Взаимодействие контроллера с моделью должно быть очень кратким. Если вы обнаружите, что 30 строк кода передают данные между одним и тем же контроллером и моделью и обратно, возможно, вы пытаетесь это сделать. слишком много с этим одним действием контроллера.

  4. Держите свои модели толстый , контроллеры тощий , а просмотры тупой .

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