Модульная архитектура в CodeIgniter - PullRequest
0 голосов
/ 25 февраля 2010

идея

Я играю с концепцией модульного конструктора сайтов - теперь в основном в теории , которая будет содержать страницы / коллекции, основанные на модулях (либо запрограммированных, либо выполненных специально при необходимости).

Каждый модуль поставляется с его связями с БД, представлениями / шаблонами и основной обработкой данных, я думаю о factory шаблоне:

базовый модуль-обертка - с нормализованными именами -> callDB, processData, returnToTemplate

каждый модуль наследует эту обертку и просто добавляет свои вызовы в БД, обрабатывает данные и, наконец, возвращается к данным, а затем в приложении я просто сделаю что-то вроде:

$this->modules->each->callDB(); //obviously, pseudo-PHP

проблема

Однако я борюсь с тем, чтобы включить всю эту идею в MVC-подход CodeIgniter и его структуру данных, поэтому она не будет / не будет (я знаю, субъективной) неестественной и / или бессмысленной.

Есть идеи?

(под древовидной структурой я знаю, что могу делать все, что захочу. Однако я не знаю, нравится ли мне dir modules с subir для каждого модуля, или шаблоны в application/templates и модули в application/modules - и эти модули, это на самом деле не имеет смысла для меня, так как мои модули несколько отличаются от модулей CI ... вы знаете ...)

edit1

Так ... это настолько хардкор или настолько глуп, что нет ответов ??

Ответы [ 2 ]

4 голосов
/ 26 февраля 2010

Чего именно вы пытаетесь достичь?Существует множество кода, который поможет вам достичь модульной архитектуры (HMVC) в вашем приложении CodeIgniter.

Модульное разделение - wiredesignz

Matchbox - Захария Кнудсен

Все, что вам нужно добавить в отношении обертывания модуля, находится исключительно в реализации.Я хотел бы изучить использование MY_Controller и, возможно, сделать шаг вперед, чтобы реализовал несколько базовых классов , чтобы ваши контроллеры внешнего интерфейса знали, что нужно обернуть модуль любыми данными из БД.

0 голосов
/ 26 февраля 2010

Существует HMVC-расширение для codeigniter, отметьте http://codeigniter.com/wiki/Modular_Extensions_-_HMVC/

Также вы можете разделить проблемы модульным способом, перегружая класс загрузчика CI (и, при необходимости, маршрутизацию) и сохраняя ваши MVC-файлы в подпапках приложения / моделей, приложения / представлений и приложения / контроллеров

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