Структура файла MVC / Codeigniter - PullRequest
2 голосов
/ 06 марта 2012

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

В первом приложении он был настроен на использование стандартного способа (по крайней мере, как мне кажется), чтобы все контроллеры, модели и представления помещались в соответствующие папки. Так говорят все книги.

Во втором приложении все папки находятся в папке modules_core или modules, где каждый контроллер (по крайней мере, то, что я бы назвал контроллерами) находится в папке, содержащей три папки: контроллер, модель, вид.

Какая из двух версий принята как стандартная и общепринятая практика? Отличаются ли эти два приложения из-за версий Codeigniter?

Ответы [ 2 ]

3 голосов
/ 06 марта 2012

Стандарт Code Igniter - использовать эти три папки:

  • Контроллеры
  • Модель
  • Просмотры

Вы также можете создавать подпапки для лучшего разделения файлов.

Немного поиска, я обнаружил, что MyClientBase использует нечто, называемое codeigniter-modular-extensions-hmvc , которое похоже на расширение для CI.

Модульные расширения делают PHP-каркас CodeIgniter модульным. Модули представляют собой группы независимых компонентов, как правило, модели, контроллер и вид, размещенные в подкаталоге модулей приложения, которые могут быть добавлены в другие приложения CodeIgniter.

HMVC обозначает контроллер представления иерархической модели.

У меня нет опыта работы с hmvc, поэтому я не могу сказать вам, что лучше. Для стандартной структуры CI попытайтесь хорошо разделить связанные файлы в подпапках (контроллеры, представления и модели) и попробуйте использовать helpers , чтобы лучше повторно использовать ваш код, когда вам нужно использовать функции в нескольких местах. .

0 голосов
/ 06 марта 2012

Я думаю, что MyClientBase (который, кажется, далек от «стандартного» примера), похоже, использует HMVC больше, чем MVC.

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