Это хороший макет для большого сайта PHP? - PullRequest
1 голос
/ 31 января 2010

Весь дизайн MVC немного смущает меня, поскольку я никогда не использовал его. Ниже приведена общая схема моего текущего проекта ...

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

корень / счет / login.php
корень / счет / home.php
корень / счет / logout.php
корень / счет / settings.php

Тогда у меня есть отдельная папка для каждого "модуля" (форумы, блоги и т. Д.)

root / forums / root / blogs /
корень / почта /

Затем любые функции, классы и файлы конфигурации загружаются из каталога include, как этот

корень / включает / классы / root / includes / bootstrap.php // этот файл автоматически загружает необходимые файлы классов и обеспечивает соединение с БД в режиме *

Большая часть "работы" выполняется внутри файлов классов. Очевидно, я пропустил сотни файлов и несколько других папок (css / js / images /)

Так что мне интересно, кажется ли это хорошим дизайном для крупномасштабного сайта? Это не считается MVC, не так ли? И, пожалуйста, не отсылайте меня на Framework.

1 Ответ

6 голосов
/ 31 января 2010

Нет, не похоже, что вы обязательно используете MVC. Большую часть времени они группируются по их настоящим именам MVC:

Если бы мне пришлось угадывать, как вы разбиваете свои файлы, ваша структура могла бы выглядеть следующим образом

views/
  account/
    login.php
    home.php
    settings.php
    logout.php
controllers/  #maybe what you call modules
  account.php
  blog.php
  mail.php
models/       #maybe what you call "classes" are models
  account.php
  blog_entry.php
  comment.php

Просто краткий справочник:

  • M odel = Класс, который обрабатывает все взаимодействия с базой данных для определенного объекта / функции и обычно имеет соотношение 1: 1 с записью в базе данных (и, конечно, имеет связи с другими моделями).
  • V iew = Обрабатывает отображение контента для пользователя. В этих файлах не должно быть бизнес-кода (или очень мало). Например, доступ к базе данных не должен выполняться в представлении.
  • C ontroller = Скрипт, который получает запросы от пользователя, решает, какие модели подключить, выполняет необходимое действие (выдает столько, сколько имеет смысл для отдельных моделей), затем подготавливает данные к показать пользователя и отправляет его на просмотр.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...