MVC - Codeigniter - PullRequest
       17

MVC - Codeigniter

0 голосов
/ 29 января 2012

Где должен быть размещен промежуточный код?(то, что не просто хранит / извлекает данные из БД и не обрабатывает запросы / представления)

Например,

Скажем, у меня есть Listings, и я создаю функции CRUD в модели.Для этих Listings могут потребоваться более сложные задачи, такие как приостановка и возобновление, которые могут потребовать некоторых временных расчетов, установки ошибок и т. Д. Должны ли они быть помещены в модель или я должен обернуть простую модель в библиотеке и использовать ее в качестве посредникадля модели?

В данный момент я думаю об использовании драйверов / библиотек и сохранении моделей довольно простыми, за исключением некоторых динамических фильтров SELECT.Я немного запутался, хотя, так как я предполагаю, что мне, вероятно, придется перепроверить переменные, зависимости и т. Д. В модели после выполнения этого в библиотеке, да?

Скорее всего, я либоСожми все вместе в модели и проверь один раз или проверь дважды?

1 Ответ

3 голосов
/ 29 января 2012

Общее правило:

1) Выполнить всю бизнес-логику в моделях.

2) Выполнять действия, как гаишник в контроллерах. (Направление пользователей на новые представления по результатам деятельности.)

3) Выполнять только представления логики в представлениях.

Все, что вы хотели бы сделать, считалось бы "посредником", могло бы находиться в библиотеке или помощнике.

Следует отметить, что если вы пишете библиотеку, не забудьте получить экземпляр текущего объекта CI в вашем классе, чтобы иметь возможность использовать его с методами внутреннего класса.

class Your_lib {
  $CI =& get_instance();
  ...
}

Надеюсь, это поможет.

...