Я относительно хорошо разбираюсь в разработке сайтов. Я в основном хожу на ЛАМПУ, где у меня уже есть небольшая собственная «структура», которую я использую. Короче говоря, он отделяет логику от макета, и у меня есть один файл логики для одного или нескольких файлов макета в зависимости от того, какие представления поддерживаются в макете. Там есть раздел администратора, есть авторизация пользователя и все такое. Хорошо.
Итак, когда я хочу более детально проработать мой подход к проектированию / программированию на PHP - или программированию веб-сайтов в целом - я задаюсь вопросом, как правильно «думать» о MVC. Я склоняюсь в этом направлении, так как моя текущая среда очень ориентирована на DB и стала несколько тяжелой, когда производительность важна.
Итак, вот мой вопрос: Правильно ли я считаю, что контроллер обычно соответствует «разделу» или «странице», а представление заботится об отображении этого контроллера, и что модель обрабатывает объекты используется контроллером и отображается в представлениях?
Давайте рассмотрим пример (не слишком сложный, но достаточный для проверки правильности моего мышления):
Скажем, у нас есть простой сайт с играми.
Разделы, как правило, выглядят примерно так: главная страница, игры, форумы, информация о / отказ от ответственности и т. Д.
классы контроллеров соответствуют разделам, но становятся немного более сложными, чтобы охватить «единичную» версию объекта, охватываемого разделом, то есть раздел игр становится двумя контроллерами; один для обзора игр (список игр) и один для самой страницы игры. В целом это будет что-то вроде титульная страница, обзор игр, игровая страница, форумы, форум, тематическая страница, информация и отказ от ответственности .
ракурсы могут представлять собой несколько макетов для каждого контроллера, например, то же самое, что и контроллеры, но, возможно, различные типы представлений на страницах форумов (в зависимости от того, как вы хотите их просматривать) и на страницах игр (возможно, с просмотром рекордов) и т. д.
Модель (или объекты данных) обычно представляют собой пользователей, игры, форумы, темы, сообщения, а затем множество вспомогательных объектов, таких как теги тем, рекорды игр и то, что не позволяет темам классифицировать. и игры могут иметь рекорды и т. д. и т. д.
Является ли вышеуказанный «правильный» способ мышления или я полностью неправильно понимаю концепцию M-V-C для веб-сайтов.
Я подумываю о переходе на CodeIgniter или какую-то другую легкую платформу (не стесняйтесь комментировать выбор платформы или, если лучше, выбрать мою), так как мой собственный каркас очень ориентирован на DB и не сокращает его теперь, когда пара моих сайтов превышает 70 000 просмотров страниц в день.
Искреннее спасибо тем из вас, кто может помочь ответить на вопрос, является ли мой взгляд на MVC несколько правильным, а также, если возможно, добавить несколько советов о том, о чем следует думать при кодировании MVC, и при этом продолжать поддерживать передовые позиции. производительность (насколько это возможно при использовании скриптовых языков).