Где вы помещаете неконтроллерные классы в codeigniter?

У меня есть класс Widgets, Виджеты состоят из Doohickies, Мне никогда не понадобится доступ к Doohickies напрямую через URL - по сути, это закрытый класс, используемый только виджетами. Где вы разместите свой код для определения класса Doohicky? В /app/controllers/doohicky.php? в app/controllers/widget.php? где-нибудь еще? Очевидно, что первый кажется чище, но для меня не очевидно, как сделать класс Doohicky доступным для Widget.

2 ответа

Решение

Это звучит как твой Widgets а также Doohickies вероятно модели в архитектуре MVC.

В этом случае ваши пути будут:

app/models/widget.php
app/models/doohickies.php

Я вижу, что на вопрос уже дан ответ, но есть несколько вещей, на которые стоит обратить внимание.

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

Кроме того, взгляните на HMVC, который поддерживает идею о том, что у вас могут быть мини-приложения, которые следят за различными частями вашего веб-сайта (например, панели сообщений, окно поиска / результаты, doohickies...). Это позволяет вам иметь меньшие партиалы вида, выделенные для их контроллеров виджетов; и затем главный контроллер вызывает виджеты, но не нуждается в знании того, как они возникли.

http://codeigniter.com/wiki/Modular_Extensions_-_HMVC/

Другие вопросы по тегам