Где вы помещаете неконтроллерные классы в 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...). Это позволяет вам иметь меньшие партиалы вида, выделенные для их контроллеров виджетов; и затем главный контроллер вызывает виджеты, но не нуждается в знании того, как они возникли.